Metodo di valutazione del documento XPath C#

XPath può essere utilizzato per trovare nodi specifici che corrispondono ad alcuni criteri definiti nell’espressione XPath. È possibile utilizzare la query XPath per navigare in un documento XML o HTML. Di conseguenza, questo articolo spiega come utilizzare XPath per selezionare nodi specifici in base alle proprie esigenze.

Lavora con XPath per selezionare i nodi da file XML o HTML - Installazione dell’API C#

L’API Aspose.HTML for .NET può essere utilizzata per automatizzare il processo per selezionare un tipo specifico di nodi o leggere informazioni specifiche da un nodo selezionato. È possibile configurare rapidamente l’API scaricando il file DLL dalla pagina New Releases o utilizzando il seguente comando di installazione NuGet:

PM> Install-Package Aspose.Html

Utilizzare il metodo XPath Document.Evaluate() per ottenere immagini da una pagina Web HTML in C#

È possibile utilizzare il metodo Document.Evaluate() per ottenere immagini da una pagina Web HTML. Si prega di seguire i passaggi seguenti per completare questo processo:

  1. Inizializza un oggetto della classe HTMLDocument per caricare il file di origine.
  2. Passare l’espressione XPath e altri parametri al metodo Evaluate.
  3. Scorri i nodi selezionati e ottieni il link per ogni immagine.

Il seguente esempio di codice mostra come utilizzare il metodo XPath Document.Evaluate() per ottenere immagini da una pagina Web HTML:

// Creare un'istanza di un documento HTML
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "xpath.htm")))
{
    // Valutare l'espressione XPath
    var result = doc.Evaluate("//main/div[position() mod 2 = 1]//img[@class = 'photo']", doc, doc.CreateNSResolver(doc), Aspose.Html.Dom.XPath.XPathResultType.Any, null);

    // Scorri i nodi risultanti e stampali sulla console
    Aspose.Html.Dom.Node node;
    while ((node = result.IterateNext()) != null)
    {
        var img = (Aspose.Html.HTMLImageElement)node;
        Console.WriteLine(img.Src);
    }
}

Utilizzare il metodo XPath Document.Evaluate() per selezionare i nodi dal file XML in C#

In alcuni casi, potrebbe essere necessario selezionare nodi specifici da un file XML. I seguenti passaggi spiegano come soddisfare tali requisiti:

  1. Carica il file XML di origine con la classe HTMLDocument.
  2. Chiamare il metodo Evaluate mentre si passa l’espressione XPath e altri parametri.
  3. Itera sui nodi selezionati e stampa l’intero contenuto dei nodi selezionati.

Il frammento di codice seguente mostra come utilizzare il metodo XPath Document.Evaluate per selezionare i nodi dal file XML:

// Creare un'istanza di un documento
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "cars.xml")))
{
    // Valutare l'espressione XPath
    var dealers = doc.Evaluate("//Dealer[descendant::Car[descendant::Model > 2005 and descendant::Price < 25000]]", doc, doc.CreateNSResolver(doc), XPathResultType.Any, null);
    Aspose.Html.Dom.Node dealer;

    // Scorri i nodi risultanti e stampa il loro contenuto sulla console
    while ((dealer = dealers.IterateNext()) != null)
    {
        Console.WriteLine(dealer.TextContent);
    }
}

Usa il metodo XPath Document.Evaluate() per raccogliere informazioni specifiche dai nodi selezionati in C#

A volte potrebbe essere necessario ottenere dettagli particolari da un nodo anziché dall’intero contenuto. È possibile seguire i passaggi seguenti per utilizzare la query XPath per ottenere informazioni specifiche dai nodi selezionati.

  1. Accedi al file XML di input utilizzando la classe HTMLDocument.
  2. Richiamare il metodo Evaluate per ottenere i nodi corrispondenti all’espressione XPath.
  3. Passa in rassegna i nodi corrispondenti e stampa il contenuto specifico di ciascun nodo.

L’esempio di codice seguente spiega come prelevare informazioni specifiche da un nodo selezionato in XML utilizzando il metodo XPath Document.Evaluate:

// Creare un'istanza di un documento
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "cars.xml")))
{
    // Seleziona rivenditori che corrispondono all'espressione XPath
    var dealers = doc.Evaluate("//Dealer[descendant::Car[descendant::Model > 2005 and descendant::Price < 25000]]", doc, doc.CreateNSResolver(doc), XPathResultType.Any, null);
    Aspose.Html.Dom.Node dealer;

    // Itera sui rivenditori selezionati
    while ((dealer = dealers.IterateNext()) != null)
    {
        // Ottieni e stampa il nome e il telefono del rivenditore
        var dealerInfo = doc.Evaluate("concat('Dealer name: ', Name, ' Telephone: ', Telephone)", dealer, doc.CreateNSResolver(doc), XPathResultType.String, null);
        Console.WriteLine(dealerInfo.StringValue);

        // Seleziona e stampa CarID che corrisponde all'espressione XPath
        var carIds = doc.Evaluate(".//Car[descendant::Model > 2005 and descendant::Price < 25000]/@CarID", dealer, doc.CreateNSResolver(doc), XPathResultType.Any, null);
        Aspose.Html.Dom.Node carId;

        while ((carId = carIds.IterateNext()) != null)
        {
            Console.WriteLine("Car id: " + carId.TextContent);
        }
    }
}

Usa XPath per selezionare i nodi in C# - Ulteriori informazioni

È possibile ottenere ulteriori dettagli sull’utilizzo di XPath Query visitando i seguenti argomenti nella sezione documentazione.

Query XPath per selezionare i nodi da HTML o XML in C# - Licenza di valutazione gratuita

Puoi testare le funzionalità dell’API al massimo delle loro capacità, senza alcuna limitazione, richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo si è appreso come utilizzare il metodo XPath Query Document.Evaluate per selezionare nodi specifici o contenuti particolari dei nodi selezionati che corrispondono all’espressione XPath. Considerando che, nel caso in cui desideri discutere di qualsiasi tua preoccupazione, ti preghiamo di contattarci su forum di supporto gratuito.

Guarda anche

Usa i selettori CSS in HTML usando C#