Bonjour,

j'essaie desesperement de modifier un fichier XML par l'intermedaire de SAX. L arbre en mémoire parait pourtant bien etre modifié mais pas le fichier sur le disque

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
 
		String xmlfile="Shared.xml";				  
 
 
			// Select node			
			XPath xpath = XPathFactory.newInstance().newXPath();
 
 
			String file = "test.mp3";
			String xPath = "/SharedFile/File/Path[contains(text(), '"+ file +"')]/parent::File";
 
			InputSource inputSource = new InputSource(xmlfile);
 
			NodeList nodes = (NodeList)xpath.evaluate(xPath, inputSource, XPathConstants.NODESET);
 
			Node node = null;
 
			int length = nodes.getLength();
			if(length>0){
				System.out.println("0");
				node = nodes.item(0);
 
				// Update node
				NodeList Mp3Node = node.getChildNodes();	
 
				System.out.println("1");
				for (int j = 0 ; j < Mp3Node.getLength() ; j++) {
					Node element = Mp3Node.item(j);
 
					if(element.getNodeName().equals("Album"))
					{
		System.out.println(element.getNodeName());		
						System.out.println(element.getFirstChild().getNodeValue() + " --> TESSSSST");	
				element.getFirstChild().setNodeValue("TESSSSST");
						System.out.println(element.getFirstChild().getNodeValue());	
					}
				}
 
			javax.xml.transform.sax.SAXSource saxSource = new javax.xml.transform.sax.SAXSource(inputSource);
 
		TransformerFactory usine = TransformerFactory.newInstance();
        Transformer transformeur = usine.newTransformer();
        transformeur.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
        transformeur.setOutputProperty(OutputKeys.INDENT, "yes");
        transformeur.setOutputProperty(OutputKeys.METHOD, "xml");
        transformeur.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
        transformeur.setOutputProperty(OutputKeys.STANDALONE, "yes");
        transformeur.setOutputProperty(OutputKeys.VERSION, "1.0");
        transformeur.transform(saxSource, new StreamResult("Test.xml"));
Si quelqu'un a une idée ...