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 :
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 :
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 :
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 :
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 :
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