我正在执行以下操作。 给定一个XDocument doc;
doc.XPathEvaluate("//namespace-uri()");
我收到错误'// namespace-uri()'有一个无效的令牌。
它似乎适用于节点测试,例如“// * [namespace-uri()='xyz']”。 该函数应该可以工作,XMLSPY对上面的版本感到满意,我相信它使用相同的引擎。
任何帮助将不胜感激。 我想使用xpath枚举文档中的所有命名空间。
由于 问候 克雷格。
答案 0 :(得分:5)
你的XPath错了。 namespace-uri()
函数返回一个字符串,因此不能在期望节点集的地方使用它。相反,您应该使用namespace
轴:
doc.XPathEvaluate("//namespace::*");
这将返回一个包含文档中每个名称空间声明的节点集。