【发布时间】:2011-02-24 14:21:56
【问题描述】:
为什么使用 html 敏捷包来解析 html 文件中的信息? .net 中是否没有内置或本机库来解析 html 文件中的信息?如果有,那么内置支持有什么问题?与从 html 文件解析信息的内置支持相比,使用 html 敏捷包有什么好处?
【问题讨论】:
标签: .net winforms html-parsing html-agility-pack
为什么使用 html 敏捷包来解析 html 文件中的信息? .net 中是否没有内置或本机库来解析 html 文件中的信息?如果有,那么内置支持有什么问题?与从 html 文件解析信息的内置支持相比,使用 html 敏捷包有什么好处?
【问题讨论】:
标签: .net winforms html-parsing html-agility-pack
BCL 中没有 html 解析器,这就是 HTML Agility Pack 被这么多人推荐的原因。
【讨论】:
System.Xml 命名空间中有 XmlDocument,但 HTML 不是 XML。如果您有 XHtml 文档,可以尝试使用 XmlDocument 解析它。
在我的一个应用程序中,我有一个 HTML 模板保存在一个 HTML 文件中。我加载它并用这些值替换一些节点标记。在这种情况下,我确实使用了 .NET XMLDocuments,它工作正常。至少在这种受控环境中。我不知道如果我尝试解析格式错误的 HTML 会发生什么。
这是我的代码示例:
Dim S as String = System.IO.File.ReadAllText("Mytemplate.html")
Dim dXML As New System.Xml.XmlDocument
dXML.LoadXml(S)
Dim N As System.Xml.XmlNode
N = dXML.SelectSingleNode("descendant::NodeToFind")
N.InnerText = "Text inside the node"
正如我所说,这很好用,但如果你想做一些更具体的 HTML,我想使用 HTML 敏捷包是个好主意。
【讨论】: