Http 敏捷包 - 访问兄弟姐妹?

Jay*_*Jay 5 .net html html-content-extraction scrape html-agility-pack

使用 HTML Agility Pack 非常适合获取后代和整个表格等...但是在以下情况下如何使用它

...Html Code above...

<dl>
<dt>Location:</dt>
<dd>City, London</dd>
<dt style="padding-bottom:10px;">Distance:</dt>
<dd style="padding-bottom:10px;">0 miles</dd>
<dt>Date Issued:</dt>
<dd>26/10/2010</dd>
<dt>type:</dt>
<dd>cement</dd>
</dl>

...HTML Code below....
Run Code Online (Sandbox Code Playgroud)

如果在这种情况下英里小于 15,你怎么能找到?我不明白你可以对元素做一些事情,但是你是否必须让所有元素找到正确的元素,然后找到数字来检查其值?或者有没有办法将正则表达式与 Agility pack 一起使用以更好的方式实现这一目标......

Mar*_*ell 4

我很确定(尚未检查)它支持轴following-sibling::,因此您可以找到该节点"dt[.='Distance:']",然后找到node.SelectSingleNode("following-sibling::dd[1]")- 或者(更简单)node.NextSibling如果您确定dd总是立即跟随dt.

例如:

string distance = doc.DocumentNode.SelectSingleNode(
          "//dt[.='Distance:']/following-sibling::dd").InnerText;
Run Code Online (Sandbox Code Playgroud)