我正在使用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文档对象的方式有关吗?
欢迎任何建议。
答案 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)