HtmlAgilityPack выбирает узлы на первом уровне

html-agility-pack

Вопрос

Рассмотрим следующий 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>

Здесь я хочу взять все <td> элементы, которые являются прямыми потомками в основную строку <tr> . Это означает, что я хочу взять 1, 2 and 5 .

Код, который я использую

gridRow.Descendants("td")

вернет все элементы <td> ниже основного узла <tr> .

Предоставляет ли HtmlAgilityPack функциональность для получения потомков первого уровня (потому что я не могу найти такой метод)?

Принятый ответ

HtmlNode.Elements("child_name") - именно то, что вы ищете:

gridRow.Elements("td")

Популярные ответы

Хорошо, я думаю, что это сработает:

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

Это вернет все элементы <td> , чей прямой родитель является основным элементом <tr> .



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow