SelectSingleNode Html Document

时间:2012-10-24 19:12:27

标签: c# html-agility-pack nullreferenceexception

目前我在网站上处理c#中的HtmlDocument:

return doc.DocumentNode.SelectSingleNode("//span[@title=input]").InnerText;

我想从标题为“input”的范围中获取内部文本。上面是我当前的代码,但在尝试运行它时收到NullReferenceException。为了从“输入”中检索文本,我的隐含参数应该是什么?

3 个答案:

答案 0 :(得分:2)

您必须在XPath表达式中用引号分隔字符串:

return doc.DocumentNode.SelectSingleNode("//span[@title='input']").InnerText;

普通input将尝试按该名称匹配节点并替换其值。

答案 1 :(得分:0)

确保在span title对象的HtmlDocument对象中,HtmlAgilityPack元素与if (doc.DocumentNode != null) { var span = doc.DocumentNode.SelectSingleNode("//span[@title='input']"); if (span != null) return span.InnerText; } 属性存在且值为'input'。

为了正确检查,请尝试以下代码:

{{1}}

答案 2 :(得分:0)

return doc.DocumentNode.SelectSingleNode("//span[@title='"+input+"']").InnerText;

因为输入不是字符串,所以必须连接它以适合参数。谢谢大家的帮助!