1

我已经加载了一个 XML 文档,并尝试使用 xpath 来查找所有名为“ CodeList ”的节点。无论出于何种原因,xpath 表达式//CodeList提供了 0 个节点,但 xpath 表达式/.//CodeList为我提供了正确识别的节点列表。阅读互联网上的各种教程,//CodeList应该是正确的语法来做我想做的事。

我不确定为什么会这样。xpath 表达式./.返回相同的节点,这似乎是文档(getNodeName 返回“#document”)。

有人建议我的类路径中的库可能是问题的根源。

到目前为止,唯一与 XML 相关的依赖库是:

  • xmlbeans-2.3.0
  • xml-apis-1.3.04
  • xalan-2.7.1
  • xercesImpl-2.9.1
4

2 回答 2

1

/CodeList并且/.//CodeList都应该返回完全相同的结果。如果他们不这样做,那就是一个错误。两者都应返回无命名空间中的所有 CodeList 元素。如果您的元素都在(默认)命名空间中,则两个表达式都不应返回任何内容。

于 2012-07-29T12:51:48.723 回答
0

尝试

"//CodeList/*/text()"

并且您将在行中拥有所有子节点

于 2012-07-28T15:30:54.443 回答