[libxml/xpath]pourquoi les descendant ne sont pas ceux que l'on pense?

pourquoi les descendant ne sont pas ceux que l'on pense? [libxml/xpath] - C++ - Programmation

Marsh Posté le 16-02-2007 à 15:30:28    

Bonjour tout le monde,
 
j'utilises actuellement la libxml pour extraire des informations d'un fichier xml.  
 
prenons lexemple suivant :

Code :
  1. <toto>
  2.      <tete>
  3.           <titi id="1">
  4.                <tata id="1">
  5.                     <tutu id="1" />
  6.                     <tutu id="2" />
  7.                </tata>
  8.           </titi>
  9.           <titi id="2">
  10.                <tata id="2" />
  11.           </titi>
  12.      </tete>
  13.      <tete>
  14.           <titi id="3" />
  15.      </tete>
  16. </toto>


 
si je veux récupérer les descendants du noeud titi d'id = 1, je récupère ce noeud puis j'itère sur ses descendants en utilisant la fonction xmlXpathNextDescendant (de la libxml).
 
Le problème, c'est que dans la liste des noeuds descendants, il me sort aussi les noeuds frères et leurs descendants, ainsi que les noeuds au même niveau que le parent de mon noeud de départ (et tous les noeuds descendants, bien sûr).
 
Donc, là, je comprends pas. J'ai peut-être mal compris la doc, mais il me semble que quand on parle de descendant dans un arbre xml, les frères n'en font pas partie.
 
Alors, une idée d'où vient le problème? probablement d'un truc que je n'ai pas compris, mais dans ce cas là, merci de bien vouloir m'expliquer!
 
merci


Message édité par arghbis le 16-02-2007 à 15:31:13
Reply

Marsh Posté le 16-02-2007 à 15:30:28   

Reply

Marsh Posté le 16-02-2007 à 16:03:45    

Passke si elles allaient pas voir ailleurs on en serait pas là :o


---------------
Töp of the plöp
Reply

Marsh Posté le 16-02-2007 à 16:14:03    

oh, mais que c'est drôle? tu l'aurais pas piquée à Michel Denisot celle-là?
 
:o

Reply

Marsh Posté le 16-02-2007 à 16:23:35    

en fait chuis un multi d'harko :o


---------------
Töp of the plöp
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed