Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以使用Html Agility Pack解析Html片段吗?_C#_.net_Html Agility Pack - Fatal编程技术网

C# 我可以使用Html Agility Pack解析Html片段吗?

C# 我可以使用Html Agility Pack解析Html片段吗?,c#,.net,html-agility-pack,C#,.net,Html Agility Pack,Html Agility Pack可以用来解析Html字符串片段吗 例如: var fragment = "<b>Some code </b>"; var fragment=“一些代码”; 然后提取所有标记?到目前为止,我看到的所有示例都像html文档一样加载。如果是html,那么是的 string str = "<b>Some code</b>"; // not sure if needed string html = string.Form

Html Agility Pack可以用来解析Html字符串片段吗

例如:

var fragment = "<b>Some code </b>";
var fragment=“一些代码”;
然后提取所有
标记?到目前为止,我看到的所有示例都像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;
string str=“一些代码”;
//不确定是否需要
字符串html=string.Format(“{0}”,str);
HtmlDocument doc=新的HtmlDocument();
doc.LoadHtml(html);
//查看xpath教程了解如何选择元素
//选择第一个元素
HtmlNode bNode=doc.DocumentNode.SelectSingleNode(“b[1]”);
字符串boldText=bNode.InnerText;

我认为这并不是HtmlAgilityPack的最佳用途

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

Roy Osherove有一篇博客文章,描述了如何从代码片段中去除所有html:


即使使用Mika Kolari的示例获得了正确的xpath,这也只适用于带有标记的代码段,如果代码发生更改,则会中断

好的,那么我该怎么处理它呢?我该怎么做呢?嗯,谢谢,但我复制并粘贴了代码到控制台应用程序中,并将html agility重新导入,但在HtmlNode行我得到一个空引用异常。可能是HtmlNode bNode=doc.DocumentNode.SelectSingleNode(“/b[1]”);尝试HtmlNode bNode=doc.DocumentNode.SelectSingleNode(“//b[1]”);使用HAP可以做得更简单,只需一行:
var text=HtmlNode.CreateNode(“一些代码”).InnerText