我正在尝试使用以下.NET代码检查节点的存在:
xmlDocument.SelectSingleNode( String.Format("//ErrorTable/ProjectName/text()='{0}'",projectName));
这总是提高:
XPathException: Expression must evaluate to a node-set.
给定的表达式求值为布尔值,而不是节点集.我假设你想检查ProjectName是否等于参数化文本.在这种情况下你需要写
原文链接:https://www.f2er.com/xml/292795.html//ErrorTable/ProjectName[text()='{0}']
这给出了与给定条件匹配的所有节点(节点集)的列表.此列表可能为空,在这种情况下,示例中的C#-Expression将返回null.
作为事后:您可以使用原始的xpath表达式,但不能使用SelectSingleNode,而是使用Evaluate,如下所示:
(bool)xmlDocument.CreateNavigator().Evaluate(String.Format("//ErrorTable/ProjectName/text()='{0}'",projectName));