Java Can';无法获取XML标记值

Java Can';无法获取XML标记值,java,xmldocument,Java,Xmldocument,我有以下代码 protected static final String TAG_numFound = "numFound"; // Document street_xmlDoc = GetXMLDocument(street_url); Element results = street_xmlDoc.getDocumentElement(); //numFound Node numFoundNode = results.getElementsBy

我有以下代码

protected static final String TAG_numFound                  = "numFound";        //
Document street_xmlDoc = GetXMLDocument(street_url);
Element results = street_xmlDoc.getDocumentElement();
//numFound
Node numFoundNode = results.getElementsByTagName(TAG_numFound).item(0);
String numFound = numFoundNode.getNodeValue() + "(" + numFoundNode.getNodeName() + ")";
以及下面的XML

<results>
<numFound>1</numFound>
<QTime>66</QTime>
<result>
<distance>0.0</distance>
<name>Agua</name>
</result>
</results>

1.
66
0
阿瓜
在numFound字符串变量中,我得到“null(numFound)” 我不明白为什么我没有得到“1(numFound)”来代替。
我做错了什么?

您需要使用
getTextContent
而不是
getNodeValue

阅读本文了解更多信息

您可以看到
getNodeValue
在本节(或下面的快照)中何时具有任何意义。

您可以使用
XPath
来获取值,这对于代码的未来读者来说可能更清楚:

    final Document document = //build your document
    final XPath xPath = XPathFactory.newInstance().newXPath();
    final XPathExpression expression = xPath.compile("//numFound/text()");
    final Number output = (Number) expression.evaluate(document, XPathConstants.NUMBER);
    System.out.println(output);
输出:

1.0

谢谢,这就解决了问题,现在我正在阅读您发布的链接。谢谢,我从来没有听说过XPath,它似乎比使用NodeList和Element更简单。