Bonjour à tous,

je débute en JAVA et donc je suis nouveau sur ce forum. Je souhaite

analyser un fichier xml et en sortir des valeurs pour des traitements.

Mon fichier xml se présente comme suit:

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
 
<?xml version="1.0" encoding="UTF-8"?>
<ese>
   	<service nom="DG">
		<Responsable>i</Responsable>
		<email>o</email>
	</service>
	<service nom="it">
		<Responsable>h</Responsable>
		<email>a</email>
	</service>
	<service nom="compta">
		<Responsable>d</Responsable>
		<email>e</email>
	</service>
</ese>
Mon objectif est de sortir pour chaque service le nom du responsable et son

email.

J'ai donc écris le code suivant dans éclipse:

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
 
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
public class Test2 {
 
	/**
         * @param args
         */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
 
            DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
            Document doc = docBuilder.parse (new File("D:/Projet/InfoService.xml"));
 
            doc.getDocumentElement ().normalize ();
            System.out.println ("Root element of the doc is " + 
                 doc.getDocumentElement().getNodeName());
 
            NodeList listOfPersons = doc.getElementsByTagName("service");
            int totalPersons = listOfPersons.getLength();
            System.out.println("Total no of people : " + totalPersons);
            NamedNodeMap att = listOfPersons.item(1).getAttributes();
            //System.out.println("Mon test : " + listOfPersons.item(1).getAttributes().item(0).getNodeValue());
            int i=0;
 
            for (i=0;i<totalPersons;i++)
            {
            	String mavar;
            	mavar = listOfPersons.item(i).getAttributes().item(0).getNodeValue();
 
    		}
 
 
        }catch (Throwable t) {
        t.printStackTrace ();
        }
 
	}
 
}
Comme vous le voyer je reussis à sortir le nom des services mais pas les

valeurs de responsable et email. J'ai fouillé sur internet, j'ai vu des exemples

mais je n'ai toujours pas trouvé un exemple semblable au mien. En gros je sais

pas comment accéder aux différents noeufs enfants d'une balise du type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<service nom="DG">
Si quelqu'un a une solution , je suis preneur... Merci d'avance