j'ai besoin de récupérer le path de mon application pour y ecrire et lire un fichier xml car apparament j'ecris dans la racine
ma classe qui ecrit le fichier xml qui contient que la racine application:

Code Java : 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
public class Filesauv {
 
	public static void lance() {
 
 
 
		DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder;
        try {
            dBuilder = dbFactory.newDocumentBuilder();
            Document doc = dBuilder.newDocument();
            //add elements to Document
            Element rootElement =
                doc.createElementNS("http://www.journaldev.com/application", "Applications");
            //append root element to document
            doc.appendChild(rootElement);
 
 
            //for output to file, console
            TransformerFactory transformerFactory = TransformerFactory.newInstance();
            Transformer transformer = transformerFactory.newTransformer();
            //for pretty print
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            DOMSource source = new DOMSource(doc);
 
            //write to console or file
            StreamResult console = new StreamResult(System.out);
            StreamResult file = new StreamResult(new File("employee.xml"));
 
            //write data
            transformer.transform(source, console);
            transformer.transform(source, file);
            System.out.println("DONE");
 
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
 
 
 
 
	}




et ma classe qui lie ce fichier et qui lui ajoute un element :



Code Java : 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
public class ModifyXMLDOM extends MainActivity {
	public static void lance(){
 
		  String filePath = "employee.xml";
	        File xmlFile = new File(filePath);
	        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
	        DocumentBuilder dBuilder;
	        try {
	            dBuilder = dbFactory.newDocumentBuilder();
	            Document doc = dBuilder.parse(xmlFile);
	            doc.getDocumentElement().normalize();
 
 
	            //add new element
	            addElement(doc);
 
	            //write the updated document to file or console
	            doc.getDocumentElement().normalize();
	            TransformerFactory transformerFactory = TransformerFactory.newInstance();
	            Transformer transformer = transformerFactory.newTransformer();
	            DOMSource source = new DOMSource(doc);
	            StreamResult result = new StreamResult(new File("employee.xml"));
	            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
	            transformer.transform(source, result);
	            System.out.println("XML file updated successfully");
 
	        } catch (SAXException | ParserConfigurationException | IOException | TransformerException e1) {
	            e1.printStackTrace();
	        }
 
	}
 
	private static void addElement(Document doc) {
        NodeList employees = doc.getElementsByTagName("Applications");
        Element emp = null;
 
        //loop for each employee
 
            emp = (Element) employees.item(0);
            Element appliElement = doc.createElement("application");
            Element serviceElement1 = doc.createElement("messagerie");
            Element serviceElement2 = doc.createElement("repertoire");
            Element serviceElement3 = doc.createElement("calculatrice");
            Element serviceElement4 = doc.createElement("calendrier");
 
            serviceElement1.appendChild(doc.createTextNode(m));
            serviceElement2.appendChild(doc.createTextNode(re));
            serviceElement3.appendChild(doc.createTextNode(ca));
            serviceElement4.appendChild(doc.createTextNode(cale));
 
            appliElement.appendChild(serviceElement1);
            appliElement.appendChild(serviceElement2);
            appliElement.appendChild(serviceElement3);
            appliElement.appendChild(serviceElement4);
 
            emp.appendChild(appliElement);
        }
 
}