Мне нужно разобрать определенную часть XML, полученного из http-запроса, но я не знаю, как это сделать!
У меня возвращается следующая структура XML:
<categorias type="array">
<categoria>
<nome>
Alimentação
</nome>
<idcategoria>
5
</idcategoria>
<subcategorias>
<subcategoria>
<nome>
Todos
</nome>
<id>
5
</id>
</subcategoria>
</subcategorias>
</categoria>
</categorias>
Мне нужно проанализировать данные внутри тега subcategorias, потому что с кодом, который у меня есть сейчас, я получаю только верхние теги, такие как nome и idcategoria, из категории корневого тега.
Я создал NodeList внутри цикла for, но он возвращает все теги подкатегории в документе. И мне нужно получить только те, которые находятся внутри уникального тега категории. Вот код, который у меня есть сейчас:
menuItems = new ArrayList<HashMap<String, String>>();
XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(URL); // getting XML
Document doc = parser.getDomElement(xml); // getting DOM element
NodeList nl = doc.getElementsByTagName(KEY_ITEM);
// looping through all item nodes <item>
for (int i = 0; i < nl.getLength(); i++) {
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element) nl.item(i);
// adding each child node to HashMap key => value
map.put(KEY_ID, parser.getValue(e, KEY_ID));
map.put(KEY_NAME, parser.getValue(e, KEY_NAME));
// adding HashList to ArrayList
menuItems.add(map);
}
Может ли кто-нибудь помочь мне в этом!?
Заранее спасибо!