Pacchetto Agilità HTML + Seleziona il nodo tramite il suo testo interno

c#-4.0 html-agility-pack xpath

Domanda

Ho imparato a usare il pacchetto agility html per trovare nodi specifici usando i loro attributi e xpaths. Il problema è che l'ho fatto manualmente per ognuno dei miei progetti (aprendo il sito Web html e scansionando i nodi che hanno il testo di cui ho bisogno). C'è un modo per selezionare un singolo nodo tramite il suo testo interno? Ciò renderebbe più semplice scrivere uno script di aggiornamento per i siti web il cui schema di contenuto è uguale, ma i tag degli attributi modificano i valori nel tempo. Grazie in anticipo!

Risposta popolare

Sarebbe meglio se tu avessi fornito l'HTML di esempio, ma dal momento che non lo hai fatto, supponiamo di avere HTML contenente questo codice:

<body>
    <div class="foo">bar</div>
</body>

Puoi selezionare l'opzione <div> per il suo attributo usando SelectSingleNode() di SelectSingleNode() e XPath in questo modo:

myHtmlDocument.DocumentNode.SelectSingleNode("//div[@class='foo']");

oppure puoi selezionare lo stesso dal testo interno in questo modo:

myHtmlDocument.DocumentNode.SelectSingleNode("//div[.='bar']");

Spero che questo aiuto.



Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché