Utilizzare HtmlAgilityPack per analizzare la variabile HTML, non il documento HTML?

c# html-agility-pack

Domanda

Ho una variabile nel mio programma che contiene dati HTML come una stringa. La variabile, htmlText , contiene qualcosa di simile al seguente:

<ul><li><u>Mode selector </u></li><li><u>LAND ALT</u></li>

Mi piacerebbe ripetere questo HTML, usando HtmlAgilityPack, ma ogni esempio che vedo prova a caricare l'HTML come documento. Ho già l'HTML che voglio analizzare nella variabile htmlText . Qualcuno può mostrarmi come analizzarlo, senza caricarlo come documento?

L'esempio che sto guardando ora assomiglia a questo:

<ul><li><u>Mode selector </u></li><li><u>LAND ALT</u></li>

Voglio convertirlo per usare il mio htmlText e trovare tutti gli elementi di underline all'interno. Non voglio caricarlo come documento poiché ho già l'HTML che voglio analizzare memorizzato in una variabile.

Risposta accettata

È possibile utilizzare il LoadHtml metodo HtmlDocument classe


Risposta popolare

Il documento è semplicemente un nome, non è realmente un documento (o non deve essere).

var doc = New HtmlAgilityPack.HtmlDocument;
string myHTML = "<ul><li><u>Mode selector </u></li><li><u>LAND ALT</u></li>";
doc.LoadHtml(myHTML);
foreach (var node in doc.DocumentNode.SelectNodes("//a[@href]")) {
    Console.WriteLine(node.InnerHtml);

}

Ho usato questa stessa identica cosa per analizzare i pezzi html in variabili.




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é