bonjour a tous!
j'ai créer un code en java qui permet de créer un fichier xml avec DOM
le problème que j'ai c'est que je veux développer ce code afin qu'il permette d'ajouter des noeuds(des éléments au fichier XML),au lieu d'écraser le contenu déjà existant!

et 2ème chose je voudrais savoir comment rendre ce code sous forme d'une servlet qui va récupérer des champs d'un formulaire en JSP et ces informations devront être stockés dans ce fichier XML, c'est à dire ajoutés après les informations déjà existant!


voila mon fichier XML:
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Projet>
<!-- Commentaire sous la racine
-->
<rapport id="0">
<titre>titre1</titre>
<sujet>sujet1</sujet>
<Auteur>nom_auteur</Auteur>
</rapport>
</Projet>

et voila mon code:

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import javax.xml.parsers.*;
import org.w3c.dom.*;
//import org.xml.sax.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
 
import java.io.*;
public class Main {
 
 
public static void main(String[] args) {
 
try{
 
DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
DocumentBuilder constructeur = fabrique.newDocumentBuilder();
Document document = constructeur.newDocument();
 
document.setXmlVersion("1.0");
document.setXmlStandalone(true);
Node tab[]=new Node[10];
//for(int i=0;i<tab.length;i++)
// {
 
Element racine = document.createElement("Projet");
racine.appendChild(document.createComment("Commentaire sous la racine"));
 
Element rapport = document.createElement("rapport");
//rapport.setAttribute("id",(String)i);
racine.appendChild(rapport);
 
Element titre= document.createElement("titre");
titre.setTextContent("titre1");
rapport.appendChild(titre);
 
Element sujet = document.createElement("sujet");
sujet.setTextContent("sujet1");
rapport.appendChild(sujet);
 
Element auteur = document.createElement("Auteur");
auteur.setTextContent("nom_auteur");
rapport.appendChild(auteur);
 
document.appendChild(racine);
 
 
 
 
 
transformerXml(document, "./NouveauDocument.xml");
}catch(Exception e){
e.printStackTrace();
}
}
public static void transformerXml(Document document, String fichier) {
try {
// Creation source DOM
Source source = new DOMSource(document);
 
 
File file = new File(fichier);
Result resultat = new StreamResult(fichier);
 
// Configuration transformer
TransformerFactory fabrique = TransformerFactory.newInstance();
Transformer transformer = fabrique.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
 
// Transformation
transformer.transform(source, resultat);
}catch(Exception e){
e.printStackTrace();
}
}
}
//fin du code
Merci beaucoup pour votre aide