HtmlAgilityPack selecciona nodos en el primer nivel

html-agility-pack

Pregunta

Considera el siguiente 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>

Lo que quiero aquí es llevar todos los elementos <td> que son descendientes directos a la fila principal <tr> . Lo que significa, quiero tomar 1, 2 and 5 .

El código que estoy usando

gridRow.Descendants("td")

devolverá todos los elementos <td> debajo del nodo <tr> principal.

¿HtmlAgilityPack proporciona la funcionalidad para obtener descendientes de primer nivel (porque no puedo encontrar dicho método)?

Respuesta aceptada

HtmlNode.Elements("child_name") es exactamente lo que está buscando:

gridRow.Elements("td")

Respuesta popular

Ok, creo que esto funcionará:

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

Esto devolverá todos los elementos <td> , cuyo padre directo es el elemento principal <tr> .



Related

Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué