我可以使用Html Agility Pack吗?

.net c# html-agility-pack

我在他们的网站上找不到任何教程。我想知道我可以使用Html Agility Pack并使用它来解析字符串吗?

就像我说的那样

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

我可以使用敏捷包来摆脱<b>标签吗?到目前为止我看到的所有示例都像html文档一样加载。

一般承认的答案

如果它是HTML,那么是的。

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;

热门答案

我认为这不是HtmlAgilityPack的最佳用法。

通常情况下,我看到有人试图使用正则表达式解析大量的html,我将它们指向HtmlAgilityPack,但在这种情况下,我认为使用正则表达式会更好。

Roy Osherove有一篇博文,描述了如何从片段中删除所有html:

即使你确实使用Mika Kolari的样本获得了正确的xpath,这只适用于带有<b>标记的片段,如果代码发生变化则会破坏。



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因