Ajouter dans un fichier XML

Signaler
Messages postés
10
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
26 juillet 2010
-
Messages postés
10
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
26 juillet 2010
-
Salut tt le monde;
J'ai un fichier xml qui comporte un element serveurs
<serveurs>

</serveurs>

Je veux ajouter des elements dedans avec le code suivant:
public class testPourWeb {

static org.jdom.Document document = null;

public static void main(String[] args) {
testPourWeb t= new testPourWeb();
try {
SAXBuilder sxb = new SAXBuilder();
document = sxb.build("D://J2eeProjets/test/NewFile.xml");
Element racine = document.getRootElement();
Element serveur = new Element("serveur");
racine.addContent(serveur);
System.out.println(racine);
t.enregistre("D://J2eeProjets/test/NewFile.xml");
} catch (Exception e) {
}

}
static void enregistre(String fichier) {
try {
XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
sortie.output(document, new FileOutputStream(fichier));
} catch (java.io.IOException e) {
}
}
}

Le resultat de l'ajout :

<serveurs>
<serveur/>
<serveurs/>

au lieu de m'aouter
<serveurs>
<serveur>
<serveur/>
<serveurs/>

2 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
107
Salut,

Cela revient exactement au même : la balise <serveur /> est la version condensée (donc optimisée) des balises <serveur></serveur>

Un exemple plus concret c'est l'architecture xml qui n'utilise pas les attributs de balise :

<name>toto</name>
<surname>titi</surname>
10



Et avec les attributs (bien plus optimisé niveau stockage et accès) :


C'est deux éléments "person" contiennent exactement les mêmes données, sauf que la seconde version est plus optimisée.

Dans ton cas, si tu rajoute un élément à ton élément "serveur", alors il doit te rajouter une balise d'ouverture et de fermeture, mais tant que tu n'as pas d'élément fils, jdom a bien raison de ne pas de mettre 2 balises alors que tu ne peut n'en avoir qu'une seule.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
10
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
26 juillet 2010

Salut DARKSIDIOUS;
Merci pour ta reponse.
Effectivement j'ai ajouté un élément à serveur et ça marche.

Merci bien.