Java xml
Résolu
mizamiza
-
mizamiza -
mizamiza -
Bonjour,
je parse ce fichier avec java :
<?xml version="1.0" encoding="UTF-8"?>
<bests>
<best>
<nom>miza</nom>
<score>100</score>
</best>
<best>
<nom>maryem</nom>
<score>100</score>
</best>
</bests>
il se bloque à cette ligne de code :
Element racine = document.getRootElement();
l'erreur c'est "Root element not set"
qq1 peur m'aider? merci d'avance
je parse ce fichier avec java :
<?xml version="1.0" encoding="UTF-8"?>
<bests>
<best>
<nom>miza</nom>
<score>100</score>
</best>
<best>
<nom>maryem</nom>
<score>100</score>
</best>
</bests>
il se bloque à cette ligne de code :
Element racine = document.getRootElement();
l'erreur c'est "Root element not set"
qq1 peur m'aider? merci d'avance
1 réponse
-
Comment te dire où est l'erreur sans avoir ton code ?
Il faudrait au minimum que l'on sache ce qu'est document, et comment il est initialisé vu que c'est lui qui provoque ton erreur...-
public List lireBests()
{
//On crée une instance de SAXBuilder
SAXBuilder sxb = new SAXBuilder();
org.jdom.Document document = new Document();
try
{
//On crée un nouveau document JDOM avec en argument le fichier XML
//Le parsing est terminé ;)
document = sxb.build(new File("bests.xml"));
}
catch(Exception e){}
//On initialise un nouvel élément racine avec l'élément racine du document.
Element racine = document.getRootElement();
return(list);
} -
-
Que dit-il avec ceci ?
Remarque ton return (list), je l'ai remplacé aussi mais je sais pas si c'est getContent() que tu veux...
public List lireBests() { try { SAXBuilder sxb = new SAXBuilder(); Document document = sxb.build(new File("bests.xml")); Element racine = document.getRootElement(); return racine.getContent(); // ??? } catch (Exception e) { e.printStackTrace(); return null; } } -
merci KX ça m'a inspiré en fait mon code est correct j'ai juste oublié la ligne "List list = racine.getChildren()" l'erreur c'est que il fallait mettre le fichier XML dossier bin de mon projet
ce code donc est fonctionnel et retourne le contenu de mon fichier sous la forme d'une liste pour la parser il faut se servir d'un iterator
public List lireBests()
{
//On crée une instance de SAXBuilder
SAXBuilder sxb = new SAXBuilder();
org.jdom.Document document = new Document();
try
{
//On crée un nouveau document JDOM avec en argument le fichier XML
//Le parsing est terminé ;)
document = sxb.build(new File("bests.xml"));
}
catch(Exception e){}
//On initialise un nouvel élément racine avec l'élément racine du document.
Element racine = document.getRootElement();
List list = racine.getChildren();
return(list);
}
-