在VB.NET中使用HtmlAgilityPack.HtmlDocument进行深入研究



我使用创建了一个HTML文档

Dim htmlDoc = New HtmlAgilityPack.HtmlDocument()

并具有节点

node = htmlDoc.DocumentNode.SelectSingleNode("/html/body/main/section/form[1]/input[2]")

OuterHtml是

"<input type="hidden" id="public-id" value="michael.smith.1">" 

我需要迈克尔.史密斯的估价。有没有办法从节点中提取value属性,或者我正在使用子字符串解析出值?

感谢的帮助

我会首先使用id,因为这样可以更快地匹配,然后使用HtmlNodeGetAttributeValue方法来提取value属性

Imports System
Imports HtmlAgilityPack
Public Class Program
Public Shared Sub Main()   
Dim doc = new HtmlDocument
Dim output As String = "<html><head><title>Text</title></head><body><input type=""hidden"" id=""public-id"" value=""michael.smith.1""></body></html>"

doc.LoadHtml(output)
Console.WriteLine(doc.DocumentNode.SelectSingleNode("//*[@id='public-id']").GetAttributeValue("value","Not present"))

End Sub

End Class

Fiddle

最新更新