HtmlAgilityPack sélectionne des nœuds au premier niveau

html-agility-pack

Question

Considérons le code HTML suivant

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

Ce que je veux ici est de prendre tous les éléments <td> qui sont des descendants directs vers la ligne <tr> principale. Ce qui signifie que je veux prendre 1, 2 and 5 .

Le code que j'utilise

gridRow.Descendants("td")

retournera tous les éléments <td> situés sous le noeud principal <tr> .

HtmlAgilityPack fournit-il la fonctionnalité permettant d’obtenir des descendants de premier niveau (car je ne trouve pas cette méthode)?

Réponse acceptée

HtmlNode.Elements("child_name") est exactement ce que vous recherchez:

gridRow.Elements("td")

Réponse populaire

Ok, je pense que ça va marcher:

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

Cela retournera tous les éléments <td> , dont le parent direct est l'élément <tr> principal.



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi