我是html敏捷包的新手
这是html来源
<div>
<h1>h1 content</h1>
<h2>h2 content</h2>
<p>p content</p>
</div>
<div>
<h1>h1 content</h1>
<h2>h2 content</h2>
<p>p content</p>
</div>
我使用此代码
Dim Web As HtmlWeb = New HtmlWeb()
Dim document As HtmlDocument = Web.Load("C:\temp\test.htm")
For Each nod As HtmlNode In document.DocumentNode.SelectNodes("//div/h1")
Response.Write(nod.InnerHtml & "<br>")
Next
获得这些输出。
h1 content
h1 content
如何更改代码以获得此类输出?
h1 content
p content
h1 content
p content
答案 0 :(得分:0)
您只需要一个不同的XPath表达式。
Dim htmlSnippet = "
<div>
<h1>h1 content</h1>
<h2>h2 content</h2>
<p>p content</p>
</div>
<div>
<h1>h1 content</h1>
<h2>h2 content</h2>
<p>p content</p>
</div>"
Dim parser = New HtmlDocument
parser.LoadHtml(htmlSnippet)
For Each node In parser.DocumentNode.SelectNodes(
"//div/*[self::h1 or self::p]"
)
Console.WriteLine(node.InnerHtml)
Next
有关更多示例,请参阅this documentation。