7
votes

Puis-je utiliser HTML Agility Pack pour analyser le fragment HTML?

peut être utilisé par HTML Agility Pack pour analyser un fragment de chaîne HTML?

tel que: xxx

puis extraire tout Mots clés? Tous les exemples que j'ai vu jusqu'à présent ont été chargés comme des documents HTML.


1 commentaires

Il pourrait être fait même simulateur avec HAP, dans une ligne: var text = htmlnode.createnode (" Certains code "). Innertext;


3 Réponses :


10
votes

Si c'est 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;


4 commentaires

Ok alors que ferais-je en faire avec comment puis-je faire une analyse?


HMM Merci mais j'ai copié et collé ce code dans une application de console et l'agilité HTML importée, mais sur la ligne HTMLNode, je reçois une exception de référence NULL.


Peut-être que c'est htmlnode bnode = doc.documentnode.selectSingLenode ("/ B [1]");


Essayez htmlnode bnode = doc.documentnode.selectSingLenode ("// b [1]");



2
votes

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

Normalement, je vois des gens essayant d'analyser de grandes quantités de HTML à l'aide d'expressions régulières et que je les pointe vers HTMLagILityPack, mais dans ce cas, je pense qu'il serait préférable d'utiliser une regex.

Roy Osherove a une publication de blogs décrivant comment vous pouvez supprimer tout le HTML à partir d'un extrait:


0 commentaires

0
votes

Cette réponse est venue lorsque je cherchais la même chose. Je ne sais pas si les fonctionnalités ont changé depuis sa réponse, mais cela ci-dessous devrait être mieux. XXX


0 commentaires