.net – 当检查节点的存在时,如何解决错误“表达式必须评估到节
发布时间:2020-12-16 07:52:49 所属栏目:百科 来源:网络整理
导读:我正在尝试使用以下.NET代码检查节点的存在: xmlDocument.SelectSingleNode( String.Format("//ErrorTable/ProjectName/text()='{0}'",projectName)); 这总是提高: XPathException: Expression must evaluate to a node-set. 为什么我得到这个错误,我该如
我正在尝试使用以下.NET代码检查节点的存在:
xmlDocument.SelectSingleNode( String.Format("//ErrorTable/ProjectName/text()='{0}'",projectName)); 这总是提高:
为什么我得到这个错误,我该如何解决?谢谢.
给定的表达式求值为布尔值,而不是节点集.我假设你想检查ProjectName是否等于参数化文本.在这种情况下你需要写
//ErrorTable/ProjectName[text()='{0}'] 这给出了与给定条件匹配的所有节点(节点集)的列表.此列表可能为空,在这种情况下,示例中的C#-Expression将返回null. 作为事后:您可以使用原始的xpath表达式,但不能使用SelectSingleNode,而是使用Evaluate,如下所示: (bool)xmlDocument.CreateNavigator().Evaluate(String.Format("//ErrorTable/ProjectName/text()='{0}'",projectName)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |