Posso usare Html Agility Pack per questo?

.net c# html-agility-pack

Domanda

Non sono riuscito a trovare alcun tutorial sul loro sito. Mi chiedo se posso usare Html Agility Pack e usarlo per analizzare una stringa?

Come dire che ho

string = "<b>Some code </b>

posso usare il pacchetto agility per sbarazzarmi dei tag <b> ? Tutti gli esempi che ho visto finora sono stati caricati come documenti html.

Risposta accettata

Se è html allora sì.

string str = "<b>Some code</b>";
// not sure if needed
string html = string.Format("<html><head></head><body>{0}</body></html>", str);
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);

// look xpath tutorials for how to select elements
// select 1st <b> element
HtmlNode bNode = doc.DocumentNode.SelectSingleNode("b[1]");
string boldText = bNode.InnerText;

Risposta popolare

Non penso che questo sia davvero il miglior uso di HtmlAgilityPack.

Normalmente vedo persone che cercano di analizzare grandi quantità di html usando espressioni regolari e io le indirizza verso HtmlAgilityPack ma in questo caso penso che sarebbe meglio usare un'espressione regolare.

Roy Osherove ha un post sul blog che descrive come è possibile rimuovere tutti gli html da uno snippet:

Anche se hai ottenuto il corretto xpath con l'esempio di Mika Kolari, questo funzionerebbe solo per uno snippet con un tag <b> e si interromperà se il codice cambierà.



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é