I've been trying to get the value of below using HtmlAgilityPack but without success. I'm using SelectSingleNode.
Here is my html.
<html>
<body>
<table>
<tr><td>One</td></tr>
</table>
</body>
</html>
And below is the codebehind.
HtmlDocument doc = new HtmlDocument();
doc.Load("C:\\test.html");
HtmlNode test = doc.DocumentNode.SelectSingleNode("/html/body/table/tbody/tr/td");
Console.WriteLine(test.InnerHtml);
The test
(HtmlNode) variable is null.
How am I going to get the value inside which is One
.
As shown your sample does not have tbody
node so your XPath would return no nodes (null
for SelectSingleNode
).
Fix:
HtmlNode test = doc.DocumentNode.SelectSingleNode("/html/body/table/tr/td");
Debugging tip: build XPath slowly and check each result/child nodes:
"/html/body/table/" - some children
"/html/body/table/tbody/" - null
"/html/body/table/tr/" - some children
"/html/body/table/tr/td" - score