Puis-je utiliser Html Agility Pack pour cela?

.net c# html-agility-pack

Question

Je n'ai trouvé aucun tutoriel sur leur site. Je me demande si je peux utiliser Html Agility Pack et l'utiliser pour analyser une chaîne?

Comme dis je

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

puis-je utiliser le pack d'agilité pour supprimer les balises <b> ? Tous les exemples que j'ai vus jusqu'à présent se sont chargés comme des documents HTML.

Réponse acceptée

Si c'est du HTML alors oui.

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;

Réponse populaire

Je ne pense pas que ce soit vraiment la meilleure utilisation de HtmlAgilityPack.

Normalement, je vois des personnes qui essaient d'analyser de grandes quantités de HTML à l'aide d'expressions régulières et je les dirige vers HtmlAgilityPack, mais dans ce cas, je pense qu'il serait préférable d'utiliser une expression régulière.

Roy Osherove a publié un article dans un blog décrivant comment supprimer tout le code html d'un extrait:

Même si vous obteniez le bon xpath avec l'exemple de Mika Kolari, cela ne fonctionnerait que pour un extrait de code contenant une balise <b> et se romprait si le code était modifié.



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow