I am trying to select the inner text of a td with an id attribute with the HTMLAgilityPack.
Html Code:
<td id="header1"> 5 </td>
<td id="header2"> 8:39pm </td>
<td id="header3"> 8:58pm </td>
...
Code:
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);
}
}
I keep getting null nodes because I am not selecting the td tag correctly but cannot figure out what I have done wrong...
Edit:
I made a mistake with header1 and header2, but there are 5 different td tags with headers 1 to 5.
You are trying to select header1
but the id is header2
.
You could also use GetElementById
directly:
var td = doc.GetElementbyId("header2");