目前我正在处理来自网站的 c# 中的 HtmlDocument:
return doc.DocumentNode.SelectSingleNode("//span[@title=input]").InnerText;
我想从标题为“输入”的跨度中获取内部文本。以上是我当前的代码,但在尝试运行它时收到 NullReferenceException。为了从“输入”中检索文本,我的隐式参数应该是什么?
目前我正在处理来自网站的 c# 中的 HtmlDocument:
return doc.DocumentNode.SelectSingleNode("//span[@title=input]").InnerText;
我想从标题为“输入”的跨度中获取内部文本。以上是我当前的代码,但在尝试运行它时收到 NullReferenceException。为了从“输入”中检索文本,我的隐式参数应该是什么?
您必须在 XPath 表达式中用引号分隔字符串:
return doc.DocumentNode.SelectSingleNode("//span[@title='input']").InnerText;
Plaininput
将尝试按该名称匹配节点并替换其值。
确保span
具有属性的元素title
存在于您的HtmlDocument
对象中,其值为“输入” HtmlAgilityPack
。
为了正确检查,请尝试以下代码:
if (doc.DocumentNode != null)
{
var span = doc.DocumentNode.SelectSingleNode("//span[@title='input']");
if (span != null)
return span.InnerText;
}
return doc.DocumentNode.SelectSingleNode("//span[@title='"+input+"']").InnerText;
Because input is not a string, it has to be concatenated to fit the parameters. Thanks for all of you help!