Analizza tabella HTML con HtmlAgilityPack?

html-agility-pack vb.net

Domanda

Mi sto strappando i capelli cercando di capire questo business di agility pack HTML. Nessun esempio riesco a trovare lavoro con la mia tabella, non importa ciò che modifico. Ecco il tavolo con cui sto lavorando:

<td class="trow1"><strong><a href="NEED1"><span style="color:#383838">NEED2</span></a></strong></td>
<td class="trow1">NEED3</td>
<td class="trow1" align="center"" alt="" /></td>
<td class="trow1" align="center"><strong>NEED4</strong></td>
</tr><tr>
<td class="trow2"><strong><a href="NEED1"><span class="group9">NEED2</span></a></strong></td>
<td class="trow2">NEED3</td>
<td class="trow2" align="center"" alt="" /></td>
<td class="trow2" align="center"><strong>NEED4</strong></td>
</tr><tr>
<td class="trow1"><strong><a href="NEED1"><span class="group0">NEED2</span></a></strong></td>
<td class="trow1">NEED3</td>
<td class="trow1" align="center"" alt="" /></td>
<td class="trow1" align="center"><strong>NEED4</strong></td>
</tr><tr>
<td class="trow2"><strong><a href="NEED1"><span class="group7">NEED2</span></a></strong></td>
<td class="trow2">NEED3</td>
<td class="trow2" align="center"" alt="" /></td>
<td class="trow2" align="center"><strong>NEED4</strong></td>
</tr><tr>
<td class="trow1"><strong><a href="NEED1"><span class="group0">NEED2</span></a></strong></td>
<td class="trow1">NEED3</td>
<td class="trow1" align="center"" alt="" /></td>
<td class="trow1" align="center"><strong>NEED4</strong></td>
</tr>

Ho sostituito quello che mi serve con "NEED" 1-> 4 per ogni riga. Sto cercando di popolare una vista elenco con questa (già fatta questa parte). Ma sono perso su come andare su questo.

Qualsiasi aiuto? Grazie.

Risposta popolare

Tradurre questo codice in VB.NET non è difficile, puoi farlo come segue:

var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
  • NEED1

    var value = doc.DocumentNode.SelectSingleNode("//td[@class='trow1']/strong/a").Attributes["href"].Value;
    
  • NEED2

    var value = doc.DocumentNode.SelectSingleNode("//td[@class='trow1']/strong/a/span").InnerText;
    
  • NEED3

    var innerText = doc.DocumentNode.SelectSingleNode("//td[@class='trow1' and not(*)]").InnerText;
    
  • Need4

    var innerText = doc.DocumentNode.SelectSingleNode("//td[@class='trow1']/strong[not(a)]").InnerText;
    

    Metto sopra la singola selezione, se vuoi selezionare tutto il nodo in una puoi usare il metodo SelectNodes .

Spero che questo ti sia d'aiuto.



Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché