HtmlAgilityPack seleziona i nodi al primo livello

html-agility-pack

Domanda

Considera il seguente codice 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>

Quello che voglio qui è prendere tutti gli elementi <td> che sono diretti discendenti della riga principale <tr> . Il che significa che voglio prendere 1, 2 and 5 .

Il codice che sto usando

gridRow.Descendants("td")

restituirà tutti gli elementi <td> sotto il nodo principale <tr> .

HtmlAgilityPack fornisce la funzionalità per ottenere discendenti di primo livello (perché non riesco a trovare tale metodo)?

Risposta accettata

HtmlNode.Elements("child_name") è esattamente quello che stai cercando:

gridRow.Elements("td")

Risposta popolare

Ok, penso che funzionerà:

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

Ciò restituirà tutti gli elementi <td> , il cui elemento principale diretto è l'elemento <tr> principale.



Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow