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#
- Utilizzare il metodo XPath Document.Evaluate() per ottenere immagini da una pagina Web HTML in C#
- Utilizzare il metodo XPath Document.Evaluate() per selezionare i nodi dal file XML in C#
- Usa il metodo XPath Document.Evaluate() per raccogliere informazioni specifiche dai nodi selezionati in C#
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:
- Inizializza un oggetto della classe HTMLDocument per caricare il file di origine.
- Passare l’espressione XPath e altri parametri al metodo Evaluate.
- 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:
- Carica il file XML di origine con la classe HTMLDocument.
- Chiamare il metodo Evaluate mentre si passa l’espressione XPath e altri parametri.
- 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.
- Accedi al file XML di input utilizzando la classe HTMLDocument.
- Richiamare il metodo Evaluate per ottenere i nodi corrispondenti all’espressione XPath.
- 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.