Est ce que quelqu' un pourrait m' aider comment faire une update d' un fichier xml en java.
J' ai mis ci-dessous le fichier xml.
J' ai réussi à modifier le nom, et je voudrai changé aussi le numero de telephone mais je n' arrive pas.
j' ai mis ci-dessous mon code.
Si quelqu un à une idée, je suis prenant.
Merci à vous
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" standalone="yes" ?> <repertoire> <perso sexe="feminin"> <nom>Lauria</nom> <telephones> <telephone type="fixe">01 02 03 04 05</telephone> <telephone type="portable">06 07 08 09 10</telephone> </telephones> </perso> </repertoire>
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 try { File inputFile = new File("repertoire.xml"); DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); Document doc = docBuilder.parse(inputFile); final Element racine = doc.getDocumentElement(); System.out.println("\n*************RACINE************"); System.out.println(racine.getNodeName()); Node personne = doc.getElementsByTagName("perso").item(0); NamedNodeMap attr = personne.getAttributes(); Node nodeAttr = attr.getNamedItem("sexe"); nodeAttr.setTextContent("type"); NodeList list = personne.getChildNodes(); for (int temp = 0; temp < list.getLength(); temp++) { Node node = list.item(temp); if (node.getNodeType() == Node.ELEMENT_NODE) { Element eElement = (Element) node; if ("nom".equals(eElement.getNodeName())) { if ("Lauria".equals(eElement.getTextContent())) { eElement.setTextContent("njara"); } } if ("telephones".equals(eElement.getNodeName())) { ?????????????????????? help me please }} } TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); System.out.println("-----------Modified File-----------"); StreamResult consoleResult = new StreamResult(System.out); transformer.transform(source, consoleResult); } catch (Exception e) { e.printStackTrace(); } } }
Partager