0

我正在尝试使用以下方法评估 XPath 表达式“/feed/entry/title”:

NodeList nodeList = (NodeList) inputXMLxpath.evaluate("/feed/entry/title", xmlDoc,
                XPathConstants.NODESET);

如果 xmlDoc 是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<feed>
  <entry>...
<feed>

我得到了正确的结果,但是当 xmlDoc 是这样的时候:

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
  <entry>...
</feed>

XPath 评估的结果始终是一个空列表。

任何人都可以说出原因并提出解决方案,以便我在第二种情况下也能得到正确的结果吗?

4

1 回答 1

1

xmlns-"...." 是一个命名空间声明,它的作用是改变文档中元素的名称,使它们不再被称为“feed”和“entry”,而是更复杂的东西。谷歌“XPath 默认命名空间声明”。

于 2012-10-30T10:51:30.283 回答