使用HtmlAgilityPack解析HTML表格?

时间:2015-03-06 00:11:54

标签: vb.net html-agility-pack

我正试图弄清楚这个HTML敏捷包业务。没有例子我可以找到与我的表一起工作无论我修改什么。这是我正在使用的表格:

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

我已经用“NEED”1-> 4替换了我需要的每一行。我正在寻找用这个填充列表视图(已经成为这部分)。但是我对如何解决这个问题很感兴趣。

有任何帮助吗?谢谢。

1 个答案:

答案 0 :(得分:0)

将此代码翻译成VB.NET并不困难,您可以执行以下操作:

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;
    

    我把单个选项放在上面,如果你想在一个节点中选择所有节点,你可以使用方法SelectNodes

我希望这对你有所帮助。

相关问题