Bonjour,

Je n'arrive pas à naviguer dans mon XML avec XMLBeans et encore moins ajouter un noeud dans celui-ci. J'ai pourtant suivi à la lettre la documentation mais rien à faire ?

Pouvez-vous m'aider ?


Mon XML :

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
55
56
57
 
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://www.example.org/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/XMLSchema Taches.xsd ">
  <liste_taches>
 
    <tache etat_tache="E-0" id_tache="T-1" priorite_tache="P-1">
      <date_tache>2001-01-01</date_tache>
 
      <nom_tache>TACHE 1</nom_tache>
 
      <tags>
        <tag>tag</tag>
      </tags>
 
      <predecesseurs>
        <predecesseur>predecesseur</predecesseur>
      </predecesseurs>
    </tache>
 
    <tache etat_tache="E-0" id_tache="T-2" priorite_tache="P-1">
      <date_tache>2010-03-10</date_tache>
 
      <nom_tache>TACHE 2</nom_tache>
 
      <tags>
        <tag>tata</tag>
        <tag>toto</tag>
      </tags>
 
      <predecesseurs>
        <predecesseur>T-1</predecesseur>
      </predecesseurs>
    </tache>
 
  </liste_taches>
 
  <priorites>
 
    <priorite id_priorite="P-1">HAUTE</priorite>
 
    <priorite id_priorite="P-2">BASSE</priorite>
 
  </priorites>
 
  <etats>
 
    <etat id_etat="E-0">
    	<nom_etat>EN COURS</nom_etat>
    </etat>
 
    <etat id_etat="E-1">
    	<nom_etat>TERMINE</nom_etat>
    </etat>
 
  </etats>
 
</application>
Mon premier code Java pour tester la naviguation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
XmlCursor filtreCursor = ad.newCursor();
 
		filtreCursor.toFirstChild();
		filtreCursor.selectPath("$this//priorites/priorite");
 
 
		filtreCursor.toNextSelection();
 
		System.out.println("Token type: " + filtreCursor.currentTokenType() +
		        " / " + filtreCursor.xmlText());
Mon deuxième essai toujours pour naviguer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
XmlCursor filtreCursor = ad.newCursor();
 
		filtreCursor.toChild(40);
 
 
		filtreCursor.toNextSelection();
 
		System.out.println("Token type: " + filtreCursor.currentTokenType() +
		        " / " + filtreCursor.xmlText());
Troisième et dernier essai de navigation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
XmlCursor filtreCursor = ad.newCursor();
 
		filtreCursor.toChild("priorites");
 
 
		filtreCursor.toNextSelection();
 
		System.out.println("Token type: " + filtreCursor.currentTokenType() +
		        " / " + filtreCursor.xmlText());
Résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Token type: START / <application xsi:schemaLocation="http://www.example.org/XMLSchema Taches.xsd " xmlns="http://www.example.org/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <liste_taches>
[..............]
Le problème c'est que je reste toujours au début du document sans jamais bouger... Je n'ai pas posté comment j'ai ajouté mais quand je souhaite ajouter un noeud il me dit que je ne peux pas car je suis au début du document. Sans doute le même problème donc...

Pouvez-vous me donner un petit coup de pouce ?


Merci d'avance