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:
voici le fichier XML:
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(); } } }
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:
et merci de votre aidejava.lang.ClassCastException
at XMLReadWrite.xmlOutputWrite(XMLReadWrite.java:50)
at XMLReadWrite.main(XMLReadWrite.java:73)
Partager