2015-03-31 62 views
0

節點考慮下面的HTMLHtmlAgilityPack選擇在第一級

<tr> 
 
    <td>1</td> 
 
    <td>2</td> 
 
    <td> 
 
    <table> 
 
     <tbody> 
 
     <tr> 
 
      <td>3</td> 
 
      <td>4</td> 
 
     </tr> 
 
     <tbody> 
 
    </table> 
 
    </td> 
 
    <td>5</td> 
 
</tr>

我想這裏是採取一切<td>元件,其直系後裔到主<tr>行。 這意味着,我想採取1, 2 and 5

我使用

gridRow.Descendants("td") 

將返回主<tr>節點下所有<td>元素的代碼。

HtmlAgilityPack提供了獲取第一級後代的功能嗎(因爲我找不到這樣的方法)?

+0

這應有助於:http://stackoverflow.com/a/13187588/736079 – jessehouwing 2015-03-31 21:25:13

+0

可能是一個解決方案,但我想避免的XPath。 – 2015-03-31 21:26:39

回答

3

HtmlNode.Elements("child_name")正是你在找什麼:

gridRow.Elements("td") 
1

好吧,我想這會工作:

gridRow.Descendants("td").Where(x => x.ParentNode == gridRow) 

這將返回所有<td>元素,其直接父是主要<tr>元素。