我的目标是使用 XPath 从多个带有不同命名空间的 XML 文件中提取特定的节点。只要我知道命名空间 URI,一切都可以正常工作。命名空间名称本身保持不变,但模式(XSD)有时是由客户端生成的,也就是对我来说未知的。然后我基本上有三个选择:
1. 使用一个模式来表示命名空间,希望不会出错(我能确定吗?)。 2. 获取文档的子节点并查找带有命名空间 URI 的第一个节点,希望它存在并仅使用该 URI,希望它是正确的。这可能由于多种原因而出现问题。 3. 某种方式告诉 XPath:“看,我不在乎命名空间,只要找到所有这个名称的节点,我甚至可以告诉你命名空间的名称,只是不知道 URI”。这就是这里的问题...
这不是无数“我的 XPath 表达式不起作用,因为我不了解命名空间意识”的问题的重复,如这里或这里所述。我知道如何使用命名空间意识,只是不知道如何摆脱它。
1. 使用一个模式来表示命名空间,希望不会出错(我能确定吗?)。 2. 获取文档的子节点并查找带有命名空间 URI 的第一个节点,希望它存在并仅使用该 URI,希望它是正确的。这可能由于多种原因而出现问题。 3. 某种方式告诉 XPath:“看,我不在乎命名空间,只要找到所有这个名称的节点,我甚至可以告诉你命名空间的名称,只是不知道 URI”。这就是这里的问题...
这不是无数“我的 XPath 表达式不起作用,因为我不了解命名空间意识”的问题的重复,如这里或这里所述。我知道如何使用命名空间意识,只是不知道如何摆脱它。