无法使用 Html Agility Pack 从 HTML 文档中提取所有段落标签

Unable to extract all paragraph tags from HTML document using Html Agility Pack

提问人:Max 提问时间:8/10/2023 最后编辑:Max 更新时间:8/10/2023 访问量:39

问:

我正在尝试使用 Html Agility Pack 从 HTML 文档中获取所有内容。 但是,当我在下面尝试时,所有节点都是空的。<p></p>

var doc = new HtmlDocument();
doc.Load(@"c:\Webs\test.html");
var nodes = doc.DocumentNode.SelectNodes("//p");

foreach ( var paragraph in nodes ) { 
    Console.WriteLine($"paragraph {paragraph.InnerText}");
}

Html

    <!DOCTYPE html>

<html>
<head>
</head>
<body>
     <p>I am a paragraph</p>
     <p>I am a paragraph</p>
     <h1>I am an H1</h1>
     <p>I am a paragraph</p>
     <p>I am a paragraph</p>
     <p>I am a paragraph</p>
     <h1>I am an H1</h1> 
</body>
</html>
C# HTML 敏捷包

评论

1赞 tar 8/10/2023
你试过吗?如果仍然不起作用,请提供 html 源代码。var nodes = doc.DocumentNode.Descendants("p");
0赞 Max 8/10/2023
不,文档。DocumentNode.Descendants(“p”);不起作用。我现在已经提供了上面的html文档。
0赞 tar 8/10/2023
在这里工作。安装正确的 nuget: nuget.org/packages/HtmlAgilityPack - 也许写入以确保您使用包的 HtmlDocument,而不是其他任何内容。还要检查文件路径是否正确(doc 是否为空?HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();

答: 暂无答案