HTMLAgilityPack使用id属性获取td标记的innerText

c# html html-agility-pack html-table nodes

我试图用HTMLAgilityPack选择带有id属性的td的内部文本。

Html代码:

<td id="header1">    5    </td>
<td id="header2">    8:39pm    </td>
<td id="header3">    8:58pm    </td>
...

码:

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();

doc.LoadHtml(data);

var nodes = doc.DocumentNode.SelectNodes("//td[@id='header1']");

if (nodes != null)
{
    foreach (HtmlAgilityPack.HtmlNode node in nodes)
    {
        MessageBox.Show(node.InnerText);
    }
}

我一直得到空节点,因为我没有正确选择td标签,但无法弄清楚我做错了什么...

编辑:

我在header1和header2中犯了一个错误,但是有5个不同的td标签,标题为1到5。

热门答案

您正在尝试选择header1但id为header2

您也可以直接使用GetElementById

var td = doc.GetElementbyId("header2");



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因