HTML Agility Pack: ottieni il riepilogo della pagina

html html-agility-pack parsing

Domanda

Come utilizzerei l'HTML Agility Pack per ottenere il primo paragrafo del testo dal corpo di un file HTML. Sto creando uno strumento di invio dei link in stile DIGG e voglio ottenere il titolo e il primo paragrafo del testo. Il titolo è facile, qualche suggerimento su come ottenere il primo paragrafo di testo dal corpo? Immagino che potrebbe essere all'interno di P o DIV a seconda della pagina.

Risposta accettata

È questo html che controlli? Se è così, potresti dare a un ID o una classe e trovarla via

//p[@id=\"YOUR ID\"] or //p[@class=\"YOUR CLASS\"]

EDIT: Poiché non controlli l'html, forse il sotto funzionerà. Accetta tutti gli HtmlTextNodes e tenta di trovare un raggruppamento di testo superiore alla soglia specificata. È tutt'altro che perfetto, ma potrebbe farti andare nella giusta direzione.

//p[@id=\"YOUR ID\"] or //p[@class=\"YOUR CLASS\"]

Risposta popolare

Il pacchetto agility usa xpath per interrogare il carico HTML che si usa semplicemente una semplice istruzione xpath. Qualcosa di simile a...

HtmlDocument htmldoc = new HtmlDocument();
htmldoc.LoadHtml(content);

HtmlNodeCollection firstParagraph = htmldoc.DocumentNode.SelectNodes("//p[1]");



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é