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)?
HtmlNode.Elements("child_name")
est exactement ce que vous recherchez:
gridRow.Elements("td")
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.