gpt4 book ai didi

xml - 如何使用 XPath 忽略 namespace

转载 作者:数据小太阳 更新时间:2023-10-29 01:36:43 29 4
gpt4 key购买 nike

我的目标是使用 XPath 从具有多个命名空间的多个 XML 文件中提取某些节点。只要我知道 namespace URI,一切都可以正常工作。 namespace 名称本身保持不变,但模式 (XSD) 有时是客户端生成的,即我不知道。然后我基本上剩下三个选择:

  1. 只为命名空间使用一个模式,希望没有任何问题(我可以确定吗?)。
  2. 获取文档的子节点并查找具有命名空间 URI 的第一个节点,希望它在那里,然后只使用 URI,希望它是正确的。由于多种原因,这可能会出错
  3. 以某种方式告诉 xpath:“看,我不关心 namespace ,只需找到具有此名称的所有节点,我什至可以告诉您 namespace 的名称,而不是 URI”。这就是这里的问题......

这不是重复发现的许多“我的 xpath 表达式不起作用,因为我不知道命名空间意识”问题 herehere .我知道如何使用 namespace 感知,只是不知道如何摆脱它。

最佳答案

您可以使用 local-name() XPath 函数。而不是选择像

这样的节点
/path/to/x:somenode

您可以选择所有节点并过滤具有正确本地名称的节点:

/path/to/*[local-name() = 'somenode']

关于xml - 如何使用 XPath 忽略 namespace ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4440451/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com