Bonjour pour tout le monde
j’ai créé un code java qui modifie les donnees d’un fichier XML .
Mais l’exécution de ce code a provoqué des erreurs que je n’ai pas pu les corriger.
S’il vous plait aider moi pour corriger ces problèmes.

Voici le 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
79
80
81
82
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Attr;
import org.w3c.dom.NamedNodeMap;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.w3c.dom.NodeList.*;
import javax.xml.transform.*;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.dom.DOMSource;
import java.lang.*;
import java.util.*;
import javax.naming.directory.*;
import java.io.*;
import java.util.*;
 
 
public class  XMLReadWrite {
    public  XMLReadWrite() {
    }
    public static void xmlOutputWrite(String cdeName)throws Exception 
   {
 
       try {
               //récupère une instance de la classe de fabrication
               DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
               //Récupère une instanxce de la classe DocumentBuilder
               DocumentBuilder parser = factory.newDocumentBuilder();
               //Effectue le parsing avec récupération du noeud DOM Document
               Document document = parser.parse(cdeName);
               Element utilisateur = document.getDocumentElement();
 
               NodeList application = utilisateur.getChildNodes();
                for (int i = 0; i < application.getLength(); i++)
                    if (application.item(i).getNodeType() == 1)
 
              {  Attr rac;Element app;
                  if (application.item(i).getNodeName().equals("interface")) {
                      NamedNodeMap interf = application.item(i).getAttributes();
                      rac = (Attr) interf.item(0);
                      if (rac.getValue().equals("Magic_MED")) {
                          app = (Element) interf.item(1);
                         app.setAttribute("longueur","500"); 
                          app.setAttribute("largeur","800"); 
                      }
 
                  }
                  // if(nom.equals("application")) System.out.println("c est la racine");
              }
 
               }
 
 
 
          catch (FactoryConfigurationError e) {
                    System.out.println(
                            "impossible de localiser une classe de construction");
                }
 
 
 
    }public static void main (String []args){
      XMLReadWrite xx=new XMLReadWrite();
     try {
                 xx.xmlOutputWrite("exemple.XML");
 
             } catch (Exception ex) {
                   ex.printStackTrace();
                                     }
 
 
   }
 
}
voici le fichier XML:

Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<?xml version="1.0" ?> 
<application>
<interface nom="Magic_MED" longueur="0" largeur="0"/>
 
  </application>

voici les erreurs:

java.lang.ClassCastException

at XMLReadWrite.xmlOutputWrite(XMLReadWrite.java:50)

at XMLReadWrite.main(XMLReadWrite.java:73)
et merci de votre aide