Bonjour,
j'ai un fichier XML déjà créé, et j'aimerai y ajouter des éléments en utlisant JDOM. Mon fichier a la structure suivante :
Et à la fin je veux avoir une structure comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <?xml version="1.0" encoding="UTF-8"?> <Signataires />
Le code que j'ai mis au point est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?xml version="1.0" encoding="UTF-8"?> <Signataires> <Signataire> <nom>Fabric</nom> <prenom>Lucas</prenom> <email>lucas.fabric@gmail.com</email> </Signataire> <Signataire> ... ... </Signataire> </Sigantaires>
Mon code ne marche pas du tout, le fichier xml est intact, si quelqu'un a une idée sur la faute que j'ai commis ça sera bie, sinon si vous avez un code meilleur je suis preneur, merci d'avance et joyeux noel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 package xml; import java.io.*; import java.util.*; import org.jdom2.*; import org.jdom2.input.SAXBuilder; import org.jdom2.output.*; public class fichiersignataire { static Element racine = new Element("Signataires"); static org.jdom2.Document document = new Document(racine); public void ajoutersignature(String titre, String nom, String prenom, String mail){ /*Pour sélectionner le fichier xml*/ String userHome = System.getProperty("user.home"); String desktop = userHome+"/Desktop/"; String fichier = desktop+titre+"_signataires.xml"; /*Lire le fichier*/ try { SAXBuilder sxb = new SAXBuilder(); document = sxb.build(new File(fichier)); racine = document.getRootElement(); } catch(Exception e){} /*Ecrire dans le fichier*/ Element Signataire = new Element("Signataire"); Signataire.addContent(new Element("Nom").setText(nom)); Signataire.addContent(new Element("Prénom").setText(prenom)); Signataire.addContent(new Element("Email").setText(mail)); document.getRootElement().addContent(Signataire); } }
Partager