Bonjour à tous,
Je suis en train d'ajouter un un fichier XML un nouveau utilisateur le document XML est organisé comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<Utilisateur>
<login>TTTTT</login>
<passwd>aaaa</passwd>
</Utilisateur>
Je voudrais ajouter un nouveau utilisateur de la même façon, juste au dessous de ceci.
Le code 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
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
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import java.io.*;
public class AjouterXXMML {
    private String login,passwd;
 
 
     public  void addUtilisateur(String BaseXML, String login,String passwd){
        try {
            DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
            DocumentBuilder constructeur = fabrique.newDocumentBuilder();
            Document document = constructeur.parse(BaseXML);
            Element root = document.getDocumentElement();
 Element Utilisa = document.createElement("Utilisateur");
Element element = document.createElement("login");
            element.setTextContent(login);
            Utilisa.appendChild(element);
            Element pass = document.createElement("passwd");
            pass.setTextContent(passwd);
            Utilisa.appendChild(pass);
            root.appendChild(Utilisateur);
 
 TransformerFactory tfact =  TransformerFactory.newInstance();
         Transformer transformer =  tfact.newTransformer();
         DOMSource source = new DOMSource(document);
         File fichier= new File(BaseXML);
         FileWriter fw = new FileWriter(fichier);
 
         StreamResult result = new StreamResult(fw);
         transformer.transform(source, result);
  } catch (Exception ex) {
            Logger.getLogger(AjouterXXMML.class.getName()).log(Level.SEVERE, null, ex);
        }
 
 
 
 
}
 
       public static void main(String[] args) throws IOException {
        // TODO code application logic here
      AjouterXXMML aj= new AjouterXXMML();
      aj.addUtilisateur("C:\\Base.xml","lllllllllll","AAAAA");
 
 
 
    }
}
L'erreur que se produit lors de l'exécution de ce code, cé que le fichier sera structuré comme suit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<Utilisateur>
<login>TTTTT</login>
<password>aaaa</passwd>
<Utilisateur>
<login>lllllllllll</login>
<passwd>AAAAA</passwd>
</Utilisateur>
</Utilisateur>
J'ai besoin de corriger cette erreur. Merci