Analyser le tableau HTML avec HtmlAgilityPack?

html-agility-pack vb.net

Question

J'arrache les cheveux pour essayer de comprendre cette affaire de progiciels d'agilité HTML. Je ne trouve aucun exemple de travail avec ma table, peu importe ce que je modifie. Voici la table avec laquelle je travaille:

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

J'ai remplacé ce dont j'avais besoin par "BESOIN" 1-> 4 pour chaque ligne. Je cherche à remplir une vue de liste avec ceci (déjà fait cette partie). Mais je suis perdu sur la façon de s'y prendre.

De l'aide? Je vous remercie.

Réponse populaire

Traduire ce code en VB.NET n'est pas difficile, vous pouvez le faire comme suit:

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;
    

    Je mets au-dessus de la sélection unique, si vous souhaitez sélectionner tous les nœuds en un, vous pouvez utiliser la méthode SelectNodes .

J'espère que cela vous aidera.



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