我的目标是使用XPath从具有多个名称空间的多个xml文件中提取某些节点 . 只要我知道名称空间URI,一切正常 . 命名空间名称本身保持不变,但模式(XSD)有时是客户端生成的,即我不知道 . 然后我基本上有三种选择:
-
只使用命名空间的一个模式,希望没有出错(我能确定吗?)
-
获取文档的子节点并查找带有命名空间URI的第一个节点,希望它在那里并只使用URI,希望它是正确的 . 可能由于多种原因而出错
-
以某种方式告诉xpath:“看,我不关心名称空间,只需找到具有此名称的所有节点,我甚至可以告诉您名称空间的名称,而不是URI” . 这就是问题......
3 回答
您可以使用
local-name()
XPath函数 . 而不是选择像这样的节点您可以选择所有节点并过滤具有正确本地名称的节点:
您可以使用更简洁的语法在_910959中执行相同的操作:
您可以在XmlTextReader上使用Namespace = false
用: