我正在尝试评估XPath Expression" / 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评估的结果始终是一个空列表。
任何人都可以说出原因并建议一个解决方案,以便我在第二种情况下得到正确的结果吗?
答案 0 :(得分:1)
xmlns - “....”是一个名称空间声明,它具有更改文档中元素名称的效果,因此它们不再被称为“feed”和“entry”,而是更多复杂。 Google用于“XPath默认名称空间声明”。