【问题标题】:HtmlAgilityPack select nodes on first levelHtmlAgilityPack 在第一级选择节点
【发布时间】:2023-04-06 04:49:01
【问题描述】:

考虑下面的 HTML

<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>

我在这里想要的是把所有&lt;td&gt; 元素的直接后代带到主要的&lt;tr&gt; 行。 也就是说,我要取1, 2 and 5

我正在使用的代码

gridRow.Descendants("td")

将返回主&lt;tr&gt; 节点下的所有&lt;td&gt; 元素。

HtmlAgilityPack 是否提供获取一级后代的功能(因为我找不到这种方法)?

【问题讨论】:

标签: html-agility-pack


【解决方案1】:

HtmlNode.Elements("child_name") 正是您要找的:

gridRow.Elements("td")

【讨论】:

    【解决方案2】:

    好的,我认为这会起作用:

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

    这将返回所有&lt;td&gt; 元素,其直接父元素是主&lt;tr&gt; 元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-04
      • 2012-07-02
      相关资源
      最近更新 更多