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。我在下面的XPath代碼:
Node external_node = (Node) xPath.evaluate("//div[@id='current']", xmlDocument, XPathConstants.NODE);
if(null != external_node) {
NodeList nodeList = external_node.getChildNodes();
for (int i = 0; null!=nodeList && i < nodeList.getLength(); i++) {
Node internal_node = nodeList.item(i);
if(internal_node.getNodeType() == Node.ELEMENT_NODE)
System.out.println(nodeList.item(i).getNodeName() + " : " + internal_node.getFirstChild().getNodeValue());
}
}
那麼我得到的是:
b : Current Data Ratio:
span : -0.23 (-0.84%)
div : 4:29 pm EST, Fri Jan 9
數據17.35無法獲得。我改變節點類型Node.TEXT_NODE這樣的:
如果(internal_nod.getNodeType()== Node.TEXT_NODE
然後我什麼也沒有回來之後我又試着用文字()函數,好像沒有無論是幫助任何需要幫助
XML可以像其他任何代碼一樣被格式化 - 縮進四個空格。我已經爲你做了。 –
太棒了!感謝Mathias。 – Tommy