.jpg)
如何使用 HTML Agility Pack?
我的 XHTML 文档不完全有效。这就是我想使用它的原因。如何在我的项目中使用它?我的项目是 C#。

首先,将 HTMLAgilityPack nuget 包安装到项目中。
然后,作为一个例子:
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
// There are various options, set as needed
htmlDoc.OptionFixNestedTags=true;
// filePath is a path to a file containing the html
htmlDoc.Load(filePath);
// Use: htmlDoc.LoadHtml(xmlString); to load from a string (was htmlDoc.LoadXML(xmlString)
// ParseErrors is an ArrayList containing any errors from the Load statement
if (htmlDoc.ParseErrors != null && htmlDoc.ParseErrors.Count() > 0)
{
// Handle any parse errors as required
}
else
{
if (htmlDoc.DocumentNode != null)
{
HtmlAgilityPack.HtmlNode bodyNode = htmlDoc.DocumentNode.SelectSingleNode("//body");
if (bodyNode != null)
{
// Do something with bodyNode
}
}
}
(注意:此代码只是一个示例,不一定是最佳/唯一的方法。不要在您自己的应用程序中盲目使用它。
该方法还接受流,这对于与 .NET Framework 中其他面向流的类集成非常有用。while 是正确处理 html 实体的另一种有用方法。(感谢马修)HtmlDocument.Load()HtmlEntity.DeEntitize()
HtmlDocument并且是您最常使用的类。与 XML 解析器类似,它提供接受 XPath 表达式的 selectSingleNode 和 selectNodes 方法。HtmlNode
注意布尔属性。这些控制 and 方法将如何处理您的 HTML/XHTML。HtmlDocument.Option??????LoadLoadXML
还有一个名为 HtmlAgilityPack.chm 的编译帮助文件,其中包含每个对象的完整参考。这通常位于解决方案的基文件夹中。

我不知道这是否会对你有任何帮助,但我写了几篇介绍基础知识的文章。
下一篇文章已经完成了 95%,我只需要写下我编写的代码的最后几部分的解释。如果您有兴趣,那么当我发布它时,我会尽量记住在这里发布。

HtmlAgilityPack 使用 XPath 语法,尽管许多人认为它的文档记录很差,但在 XPath 文档的帮助下,我使用它没有遇到任何问题:https://www.w3schools.com/xml/xpath_syntax.asp
要解析
<h2>
<a href="">Jack</a>
</h2>
<ul>
<li class="tel">
<a href="">81 75 53 60</a>
</li>
</ul>
<h2>
<a href="">Roy</a>
</h2>
<ul>
<li class="tel">
<a href="">44 52 16 87</a>
</li>
</ul>
我这样做了:
string url = "http://website.com";
var Webget = new HtmlWeb();
var doc = Webget.Load(url);
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//h2//a"))
{
names.Add(node.ChildNodes[0].InnerHtml);
}
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//li[@class='tel']//a"))
{
phones.Add(node.ChildNodes[0].InnerHtml);
}
模板简介:该模板名称为【c#如何使用 HTML Agility Pack?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【C#】栏目查找您需要的精美模板。