У меня ситуация здесь, где мне нужно разобрать следующий 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 не большой, то я рекомендую XPath parser..in который вам может поместить весь путь, как XPath xpath = XPathFactory.newInstance(). newXPath(); map = (String) xpath.evaluate ("/ Attributes/Map/entry/value/Map", doc, XPathConstants.STRING); –
Есть ли предел для этого гнездования? –