XPathExpression.evaluate使用Node

时间:2017-06-05 13:55:45

标签: java xpath

我有以下XML(我收到的,因此无法控制):

<root>
   <elementA  ....>
       <elementB  ....>
            <nsx:elementC  ...>

在我的代码中,我有Node - elementA。我想要做的是让elementC忽略命名空间(文档是使用namespace aware = true解析的,因为我希望能够在我的代码中使用getLocalName

我使用以下代码:

Element elementA = ...;
XPath xpath = XPathFactory.newInstance().newXPath();
XPathExpression expression = xpath.compile(<see below for xpath);
Node result = expression.evaluate(elementA, XPathConstants.NODE);

以下是我尝试使用XPath的结果:

  • &#34;&#34; - &GT; elementA
  • &#34; ./*&# 34; - &GT; elementB
  • &#34; ./ elementB&#34; - &GT;空
  • &#34; elementB&#34; - &GT;空

我不明白为什么&#34; ./*"给了我elementB,&#34; ./ elementB&#34;给我null。

最终,我想要的是:&#34; ./ :elementB / :elementC&#34;

0 个答案:

没有答案