【发布时间】:2009-05-27 04:57:04
【问题描述】:
在 Java 中解析包含命名空间的 xpath 似乎需要使用 NamespaceContext 对象,将前缀映射到命名空间 url,反之亦然。但是,除了自己实现之外,我找不到任何获得NamespaceContext 的机制。这似乎违反直觉。
问题: 是否有任何简单的方法可以从文档中获取NamespaceContext,或者创建一个,或者失败,完全放弃前缀并指定具有完全限定名称的xpath?
【问题讨论】:
-
您的问题有一些基本的误解:您可以使用 XPath 从 XML 获取所有命名空间 URI(SO 中有此答案),但您不能简单地填充前缀命名空间URI 绑定类,因为对于每个节点,它可能是不同的绑定。选择节点时,您应该提前知道所需元素的名称其中包括它们的命名空间 URI