【问题标题】:Attributes in root element causes issues in XPath Evaluation in Java根元素中的属性会导致 Java 中的 XPath 评估出现问题
【发布时间】:2012-10-19 14:03:47
【问题描述】:

我正在尝试使用以下方法评估 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 求值的结果总是一个空列表。

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

【问题讨论】:

标签: java xml xpath


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 2013-07-13
    • 2021-07-08
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 2019-04-08
    相关资源
    最近更新 更多