Java xml

Résolu
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

A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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...
0
mizamiza
 
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);
}
0
mizamiza
 
ce meme code marche dans un autre projet mais dans ce projet !!
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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;
	} 
}
0
mizamiza
 
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);
}
0