用于从 HTML 标签汤生成 .NET XmlDocument 的库

Library to generate .NET XmlDocument from HTML tag soup

提问人:Matthew Flaschen 提问时间:4/1/2009 最后编辑:Matthew Flaschen 更新时间:7/5/2010 访问量:1481

问:

我正在寻找一个 .NET 库,该库可以从无效的 HTML 代码生成干净的 Xml 树,最好是 System.Xml.XmlDocument。也就是说,它应该像浏览器在遇到这种情况时所做的那样尽最大努力进行猜测、修复和替换,并生成一个假装的 XmlDocument。图书馆也应该得到良好的维护。:)

我意识到这有很多(太多了?),我将不胜感激任何有用的线索。Java 似乎有相当多的实现,但我宁愿不生成自己的绑定。到目前为止,对于 .NET,我已经找到了 http://www.majestic12.co.uk/projects/html_parser.phphttp://users.rcn.com/creitzel/tidy.html#dotnet,http://sourceforge.net/projects/tidyfornet .

我还没有构建或测试其中任何一个,但从(稀疏的)文档和罕见的更新来看,它们似乎没有我想要的东西。那么,在这些选择中,或者从您过去的经验中,您有什么建议。

.NET CLR HTML 解析 xmldocument html-agility-pack

评论


答:

8赞 Marc Gravell 4/1/2009 #1

HTML Agility Pack 受到高度评价。它肯定会进行解析/最佳猜测等。

该模型本质上类似于 XmlDocument,包括用于查询的 SelectNodes 等。

如果你需要 xhtml 输出,有一个标志;我假设将其设置为 true 并在 xhtml 中调用结果。OptionOutputAsXmlSave

评论

0赞 Matthew Flaschen 4/1/2009
谢谢!到目前为止,它看起来非常可靠,尽管我不得不进行一些调整来编译它,并且没有真正的文档。
0赞 Matthew Flaschen 4/2/2009
我已经完成了解析代码,我仍然认为它是一个优秀的库。谢谢你的提示。一件有点奇怪的事情是,它似乎没有自动扩展实体的选项(例如)。您必须手动调用 DeEntitize。幸运的是,我只需要 1 个节点。