Bonjour à vous,

Je souhaiterais lire, une valeur dans mon fichiers XML voici l'exemple de ma hierarchie, je souhaiterais récupérer la value="zzzzz".


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<objects>
  <object id="i1015e9f4f1-4993-4a0a-ac2e-a7bbf905047d" instanceof="ID_TEMPLATE_EQUIPMENT" sessionid="4">
    <attributeinstances>
      <attributeinstance instanceof="a10e5927e72-5ae9-4072-8d6d" value="zzzzz"

Voici mon code de départ, ma question est:comment je peux lire cette value="zzzzz"(c'est un exemple). En lisant cet attribut : a10e5927e72-5ae9-4072-8d6d, il existe plusieurs object id dans objects avec à l'intérieur attributeinstance instanceof="a10e5927e72-5ae9-4072-8d6d. Je voudrais afficher toute les valeurs de cet attribut dans tous mes objets id


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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
 
 import org.w3c.dom.*; 
 
import org.xml.sax.*;
 
import javax.xml.*; 
 
import javax.xml.parsers.*; 
 
import javax.xml.transform.*; 
 
import javax.xml.transform.dom.*; 
 
import javax.xml.transform.sax.*; 
 
import javax.xml.xpath.*; 
 
import javax.xml.namespace.*; 
 
import java.io.*;
 
 
 
public class Parse{
 
       public static void evaluerDOM(Document document, String expression, QName retour){
 
              try{
 
                     //création du XPath 
 
                     XPathFactory fabrique = XPathFactory.newInstance();
 
                     XPath xpath = fabrique.newXPath();
 
 
 
                     //évaluation de l'expression XPath
 
                     XPathExpression exp = xpath.compile(expression);
 
                     Object resultat = exp.evaluate(document,retour);
 
 
 
                     System.out.println(resultat);
 
              }catch(XPathExpressionException xpee){
 
                     xpee.printStackTrace();
 
              }
 
       }
 
       public static void evaluerSAX(File NewFile, String expression, QName retour){
 
              try{
 
                     //création de la source
 
                     InputSource source = new InputSource(new FileInputStream(NewFile));
 
 
 
                     //création du XPath 
 
                     XPathFactory fabrique = XPathFactory.newInstance();
 
                     XPath xpath = fabrique.newXPath();
 
 
 
                     //évaluation de l'expression XPath
 
                     XPathExpression exp = xpath.compile(expression);
 
                     Object resultat = exp.evaluate(source,retour);
 
 
 
                     System.out.println(resultat);
 
              }catch(XPathExpressionException xpee){
 
                     xpee.printStackTrace();
 
              }catch(IOException  ioe){
 
                     ioe.printStackTrace();     
 
              }
 
       }
 
       public static void main(String[] args){
 
              try{
 
                     DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
 
 
 
                     DocumentBuilder constructeur = fabrique.newDocumentBuilder();
 
 
 
                     File xml = new File("C:/Test2.xml");
 
                     Document document = constructeur.parse(xml);
 
                     evaluerDOM(document, "//objectid", XPathConstants.STRING);
 
              }catch(Exception e){
 
                     e.printStackTrace(); 
 
              }
 
 
 
 
 
       }      
 
}


Merci pour votre réponse,

Bien cordialement