Xml 如何在节点标记之间获取数据值

Xml 如何在节点标记之间获取数据值,xml,xpath,Xml,Xpath,XPath相对较新,但确实需要帮助并感谢您的帮助 我有以下XML文件片段: <div id="current"> <b> Current Data Ratio:</b> 17.35 <span class="neg">-0.23 (-0.84%)</span> <div id="timestamp">4:29 pm EST, Fri Jan 9</div> </d

XPath相对较新,但确实需要帮助并感谢您的帮助

我有以下XML文件片段:

<div id="current">

     <b> Current Data Ratio:</b>
     17.35
     <span class="neg">-0.23 (-0.84%)</span>
     <div id="timestamp">4:29 pm EST, Fri Jan  9</div>
</div>
无法获得数据17.35。我将节点类型更改为Node.TEXT\u Node,如下所示:

ifinternal\u nod.getNodeType==Node.TEXT\u Node

然后我什么也没得到。然后我尝试使用文本函数,似乎也没有帮助。任何需要的帮助

给定此输入:

<div id="current">

     <b> Current Data Ratio:</b>
     17.35
     <span class="neg">-0.23 (-0.84%)</span>
     <div id="timestamp">4:29 pm EST, Fri Jan  9</div>
</div>

选择具有此XPath表达式//div[@id='current']/text的节点会产生所需的结果17.35

XML的格式可以与任何其他代码片段的格式相同-将其缩进四个空格。我为你做了,太好了!感谢Mathias.Anders尝试了这两行代码:Node external\u Node=Node xPath.evaluate//div[@id='current']/text,xmlDocument,xpathcontents.Node;System.out.printlnexternal_node.getNodeValue;但是什么也得不到,我没有用java运行你的程序,只是使用记事本++工具xpathenisernpp来运行XPath查询,它就这样工作了,所以问题可能出在你的java代码中,而不是XPathExpression。我强烈建议您使用调试器来调试代码,而不是依赖打印输出。
b : Current Data Ratio:

span : -0.23 (-0.84%)

div : 4:29 pm EST, Fri Jan  9
<div id="current">

     <b> Current Data Ratio:</b>
     17.35
     <span class="neg">-0.23 (-0.84%)</span>
     <div id="timestamp">4:29 pm EST, Fri Jan  9</div>
</div>