studio programacion herramientas fundamentos con avanzado aplicaciones android xml libgdx xmlreader

programacion - manual de android en pdf



LibGDX lee el archivo XML (1)

Tengo este archivo XML:

<pack name="Cappellino" num_monete_livello="1100"> <level number="1" status="nolocked" /> <level number="2" status="locked" /> <level number="3" status="locked"/> </pack> <pack name="Canottiera"> <level number="4" status="locked"/> <level number="5" status="locked"/> <level number="6" status="locked"/> <level number="7" status="locked"/> </pack> <pack name="Tuta"> <level number="8" status="locked"/> <level number="9" status="locked"/> <level number="10" status="locked"/> </pack>

Para leer este archivo, utilizo este código:

XmlReader xml = new XmlReader(); XmlReader.Element xml_element = xml.parse(ProgressFileHandle); Iterator iterator_level = xml_element.getChildrenByName("level").iterator(); while(iterator_level.hasNext()){ XmlReader.Element level_element = (XmlReader.Element)iterator_level.next(); String level_number = level_element.getAttribute("number"); String level_status = level_element.getAttribute("status"); }

El problema es que el código me devuelve solo el último paquete y, de hecho, la línea XmlReader.Element xml_element = xml.parse(ProgressFileHandle); devuélveme solo esto:

<pack name="Tuta"> <level number="8" status="noeggs"/> <level number="9" status="locked"/> <level number="10" status="locked"/> </pack>

¿sabes qué?


Tu xml tiene un problema estructural. Cada archivo xml debe tener solo 1 elemento raíz. Es por eso que el lector xml solo lee el primer elemento. Puede poner sus contenidos xml dentro de un elemento raíz.