如何使用HTML敏捷包
我的XHTML文档不是完全有效的。这就是我想用它的原因。我如何在我的项目中使用它?我的项目是C
首先,将HTMLAgilityPack nuget包安装到项目中
然后,作为一个例子:
HtmlAgilityPack.HtmlDocument htmlDoc=新的HtmlAgilityPack.HtmlDocument();
//可根据需要设置各种选项
htmlDoc.OptionFixNestedTags=true;
//filePath是指向包含html的文件的路径
加载(文件路径);
//用法:htmlDoc.LoadHtml(xmlString);从字符串加载(是htmlDoc.LoadXML(xmlString))
//ParseErrors是包含Load语句中任何错误的ArrayList
if(htmlDoc.ParseErrors!=null&;htmlDoc.ParseErrors.Count()>;0)
{
//根据需要处理任何分析错误
}
其他的
{
if(htmlDoc.DocumentNode!=null)
{
HtmlAgilityPack.HtmlNode bodyNode=htmlDoc.DocumentNode.SelectSingleNode(“//body”);
如果(bodyNode!=null)
{
//对bodyNode做些什么
}
}
}
(注意:此代码只是一个示例,不一定是最佳/唯一的方法。不要在自己的应用程序中盲目使用它。)
HtmlDocument.Load()方法还接受一个流,该流在与.NET framework中其他面向流的类集成时非常有用。而HtmlEntity.deentize()是正确处理html实体的另一个有用方法。(谢谢Matthew)
HtmlDocument和HtmlNode是最常用的类。与XML解析器类似,它提供了接受XPath表达式的selectSingleNode和selectNodes方法
请注意HtmlDocument.Option????boolean属性。这些属性控制Load和LoadXML方法如何处理HTML/XHTML
还有一个名为HtmlAgilityPack.chm的已编译帮助文件,其中包含每个对象的完整引用。该文件通常位于解决方案的基本文件夹中