0
我有一個情況在這裏,我需要解析以下XML:解析有兩個相同的孩子一個XML節點
<Attributes>
<Map>
<entry key="band" value="25" />
<entry key="triggerSnapshots">
<value>
<Map>
<entry key="AttributeChange">
<value>
<Attributes>
<Map>
<entry key="band" value="45" />
</Map>
</Attributes>
</value>
</entry>
<entry key="ManagerTransfer" value="7262079" />
<entry key="needsCreateProcessing">
<value>
<Boolean>true</Boolean>
</value>
</entry>
</Map>
</value>
</entry>
</Map>
</Attributes>
問題:
在上面的XML我需要皮卡輸入密鑰的值爲
band=25
,而不是band=45
的輸入密鑰。當我使用解析我的XML:NodeList nodes = doc.getElementsByTagName("entry");
我第一次拿到帶價值25
並將其存儲在地圖中,然後當我帶值45
在地圖樂隊值25
得到由覆蓋45
。我只需要解析XML的方式,我得到的帶值爲25
而不是45
。
如果XML並不大的特定XML節點和值,那麼我建議的XPath parser..in你可以把整個路徑如 XPath xpath = XPathFactory.newInstance()。newXPath(); map =(String)xpath.evaluate(「/ Attributes/Map/entry/value/Map」,doc,XPathConstants.STRING); –
這個嵌套是否有限制? –