当前位置:  开发笔记 > 编程语言 > 正文

从XPath表达式返回一个布尔值

如何解决《从XPath表达式返回一个布尔值》经验,为你挑选了1个好方法。

我们希望通过XPath表达式实现对元素的存在检查.XPath表达式是在外部定义的.我们正在尝试使用System.Xml.XPath中的XPathEvaluate扩展方法,但是当我们尝试执行以下操作时它会抱怨.

XDocument d = new XDocument(
                new XElement("test", 
                    new XElement("element"),
                    new XElement("element")));
bool b = (bool)d.XPathEvaluate("/test/element[exists()]");

此函数当前失败,并出现"需要命名空间管理器或XsltContext.此查询具有前缀,变量或用户定义的函数.".如果我们尝试,我们会收到相同的消息exists(/test/element).

我们想在XPath表达式中表达的其他事情之一是元素的数量,例如count(/text/element) = 2.

测试条件应该是XPath表达式的一部分.

函数调用d.XPathEvaluate("/test/element[last()]")按预期进行求值.

有可能用XPathEvaluate这种方式吗?

[编辑]是的.

如果没有,.Net框架中是否有其他选择?

[编辑]是的.

[编辑]剩下的问题:为什么exists功能不起作用?



1> Santiago Cep..:

你试过XPath了吗?

boolean(/test/element)

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有