2013-03-13 3 views
0

Les données que je dois analyser ressemble en quelque sorte comme ceux-ci:Comment analyser ces types de données XML?

<?xml version="1.0" encoding="utf-8"?> 
<parent> 

<child ID="1" Name="CHILD" Order="1"> 

<subchild ID="1" Name="SUB_CHILD" Order="1"> 
<subchild ID="1" Name="SUB_CHILD_NODE1" Order="01"/> 
<subchild ID="2" Name="SUB_CHILD_NODE2" Order="02"/> 
</subchild> 

</child> 

</parent> 

C'est comme ouvrir des sous-dossiers, dossier principal -> inside_main_folder -> données à l'intérieur inside_main_folder. Désolé je ne peux pas l'expliquer, c'est la première fois que je vois ce genre de données.

j'avais analysé les données avant, mais il ressemble à ceci:

<results> 
    <result> 
     <id>1</id> 
     <name>Mark</name> 
     <score>6958</score> 
    </result> 
    <result> 
     <id>2</id> 
     <name>Wesley</name> 
     <score>4039</score> 
    </result> 
</result> 

J'utilise DOMParser par la voie.

Répondre

0

Ces "ID", "Nom" et "Ordre" sont des attributs du nœud. Lorsque vous obtenez un noeud, utilisez la méthode getAttribute (vérifiez le document DOM pour voir quel est le nom exact de la méthode) sur le noeud pour analyser la valeur de "ID", "Name" et "Order".

+0

Je l'ai eu! Je vous remercie! 'NodeList nodeList = doc.getElementsByTagName (" CATEGORY "); \t \t Elément élément = (élément) nodeList.item (0); \t \t Chaîne name = élément.getAttribute ("Nom"); \t \t String id = element.getAttribute ("ID"); \t \t Toast.makeText (this, "" + nom, Toast.LENGTH_LONG) .show(); HashMap map = new HashMap (); \t \t \t \t \t \t map.put ("id", id); \t \t map.put ("nom", nom); \t \t \t \t mylist.add (carte); ' – droidH