HtmlAgilityPack - 属性属性始终为空

时间:2013-12-03 12:06:58

标签: .net vb.net html-agility-pack

我正在使用HtmlAgilityPack解析一些html而我正在尝试提取图像标记的style属性。以下是一些示例代码:

  Dim hd As New HtmlDocument()
  hd.LoadHtml("<img style='float:left;' />")
  Dim s As String = hd.DocumentNode.GetAttributeValue("style", String.Empty)

问题是字符串s总是为空,当我在调试中检查hd.DocumentNode时,我发现属性集合也是空的,HasAttributes设置为false。

这可能与我使用html而不是完整文档填充html文档对象的方式有关吗?

欢迎任何建议。

1 个答案:

答案 0 :(得分:0)

找到了解决方案。

我做了一个假设,因为我加载的html只是一个元素,文档节点就是那个单独的元素。事实上,在我引用它之前我仍然需要使用XPath选择元素,并且能够访问它的属性。解决方案:

Dim hd As New HtmlDocument()
hd.LoadHtml("<img style='float:left;' />")
Dim s As String = hd.DocumentNode.SelectSingleNode("//img").GetAttributeValue("style", String.Empty)