2010-10-27 44 views
3

使用HTML敏捷性包是偉大的,讓後代和整個表等...但你怎麼能在以下情況Http 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.... 

使用它,你怎麼能找到,如果里程小於15在這種情況下,我不知道你可以對元素做些什麼,但是你是否必須讓所有元素找到正確的元素,然後找到數字來檢查它的值?或者是有辦法使用正則表達式與敏捷包以更好的方式來實現這一目標?

回答

3

我敢肯定(未選中),它支持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;