Bonsoir

J'ai un fichier xml et je cherche à optimiser le parcourt d'un fichier xml. Pour parcourir une donnée je dois appliquer tout ce bout de code.
Auriez vous une solution pour rendre un peu plus souple ?

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
public class DOMXML{
   static Document document;//document
   static Element rootElement;//racine  
 
   public static void main(String[] args)
   { 
      try{
 
            DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
 
            DocumentBuilder constructeur = fabrique.newDocumentBuilder();
            document = constructeur.parse(new File("dag.xml"));
            rootElement =  document.getDocumentElement() ;
            printDomTree (rootElement,"");   
         }catch (Throwable t)
                {
                    t.printStackTrace ();
                    System.exit (1);
                }
 
 
              NodeList EnfantNode = document.getElementsByTagName("Page");  
              for(int i=0 ; i<EnfantNode.getLength(); i++)
              {
                    Element el1 = (Element)EnfantNode.item(i);
                    NodeList GroupNode = el1.getElementsByTagName("Group");   
                    for(int j=0 ; j<GroupNode.getLength();j++)
                    {
                        Element el2 = (Element)GroupNode.item(j);
                        String nameGroup = el2.getFirstChild().getFirstChild().getNodeValue(); 
 
 
                        if(nameGroup.equals("Ordinateur"))
                        {
                            System.out.println("Ordinateur"); 
                            NodeList ItemNode = el2.getElementsByTagName("Item");                        
                            for(int k=0 ; k<ItemNode.getLength();k++)
                            {
                                Node el3 = (Element)ItemNode.item(k);
                                System.out.println("-valeur-"+ el3.getFirstChild().getNextSibling().getNextSibling().getFirstChild().getNodeValue());
                             }
                         } 
                        if(nameGroup.equals("Carte mère"))
                        {
                            System.out.println("Carte mère"); 
                            NodeList ItemNode = el2.getElementsByTagName("Item");                        
                            for(int k=0 ; k<ItemNode.getLength();k++)
                            {
                                Node el3 = (Element)ItemNode.item(k);
                                System.out.println("-valeur-"+ el3.getFirstChild().getNextSibling().getNextSibling().getFirstChild().getNodeValue());                                
                             }
                         } 
        }
}
Le fichier XML a une structure de ce type :

-Report
-Page .<title>
. <icon>
-Item .<title>
.<icon>
.<value>
-Page .
.
-Group .<title>
.<icon>
- Item .
.
.
-Page .
.
-Device .
.
-Group .<title>
.<icon>
-Item .
.
.
.


Stardeus