Skip to main content
 首页 » 编程设计

c#之html敏捷包: Find second table within a div

2024年01月25日34zfyouxi

我正在尝试从一个包含 3 个表的 div 中解析信息。我可以毫无问题地从第一个获取信息。

代码如下:

HtmlAgilityPack.HtmlWeb doc = new HtmlAgilityPack.HtmlWeb(); 
HtmlAgilityPack.HtmlDocument htmldocObject = doc.Load(URL); 
var res = htmldocObject.DocumentNode.SelectSingleNode("//div[@class='BoxContent']"); 
 
var firstTable = res.SelectSingleNode("//table"); 
var charName = firstTable.ChildNodes[i++].InnerText.Substring(5).Trim(); 
 
<div class="BoxContent"> 
    <table> 
        <tr bgcolor=#505050> 
            <td colspan=2 class=white> 
            <b>I'm getting this text</b> 
            </td> 
        </tr> 
        <tr bgcolor=#F1E0C6> 
            <td>I get this too</td> 
            <td>I'm getting this as well</td> 
        </tr> 
    </table> 
    <table> 
        <tr> 
            <td>Trying to retrieve this</td> 
        </tr> 
    </table> 
</div> 

如何用HAP找到第二张表的信息?

我已经阅读了一些关于 nextsibling 函数的内容,但我无法让它工作。

请您参考如下方法:

var secondTable = res.SelectSingleNode("//table[2]");