我的目标是使用XPath从具有多个名称空间的多个xml文件中提取某些节点.只要我知道名称空间URI,一切正常.命名空间名称本身保持不变,但模式(XSD)有时是客户端生成的,即我不知道.然后我基本上有三种选择:
只使用一个模式用于命名空间,希望没有出错(我能确定吗?)
获取文档的子节点并查找带有命名空间URI的第一个节点,希望它在那里并只使用URI,希望它是正确的.可能由于多种原因而出错
不知何故告诉xpath:"看,我不关心命名空间,只需找到具有此名称的所有节点,我甚至可以告诉您命名空间的名称,而不是URI".这就是问题......
这不是许多"我的xpath表达不起作用的重复,因为我不知道命名空间感知" 这里或这里发现的问题.我知道如何使用命名空间感知.只是没有如何摆脱它.
我有以下XML:
<List xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<Fields>
<Field>
</Field>
</Fields>
</List>
Run Code Online (Sandbox Code Playgroud)
这是从SharePoint Web服务返回的XML的精简版本.我也有以下xPath:
/List/Fields/Field
Run Code Online (Sandbox Code Playgroud)
当我xmlns从我的XML中删除xPath工作正常.当它在那里时我的xPath什么都没找到.我的xPath应该做些什么?修改XML不是一种选择.