Nicolas Delaby wrote:
>>J'ai une petite question, je cherche à retrouver les parents d'un
>>nœud à partir de son xpath: je vous explique mon problème et ce que je
>>pensais faire, s'il vous plait dites moi si je suis sur la bonne voie?
>>
>>
>
>
>Bonjour, je peux au moins t'aider sur les expressions xpath.
>
>
>
>>--------------------Je cherche le ok de el3.
>>Donc avec le xpath /element1[@name="el1"]/element2[@name="el2"]/element3[@name="el3"]/ok
>>
>>
>>
>
>il y a sûrement un moyen plus simple pour écrire cette requête si tu
>veux juste le ok de el3 :
>
>//ok[parent::element3[@name = 'el3']]
>
>
Attention avec l'utilisation de // dans les requêtes xpath, l'expression
que vous proposez n'est pas optimale : en effet pour son évaluation,
l'ensemble des noeuds ok du document est construit (ce qui implique un
parcours de *tout* l'arbre du document, puis sur cet ensemble ne sont
retenus que ceux dont le parent est de type element3 avec un attribute
name='elt3').
L'expression donnée par Sophie, bien que plus "verbeuse" etait bien plus
efficace au niveau temps d'évaluation.
Sinon pourquoi ne pas écrire tout votre processus de recherche dans un
seul xpath :
/element1/element2/element3[@name=/element1[@name="el1"]/element2[@name="el2"]/element3[@name="el3"]/ok]
?
qui permet directement de retrouver le elt 3 dont l'attribut name est
égal au ok de elt3 dont l'attr name vaut el3
Cordialement,
Stéphane.
>
>
>>--------------------Je récupère donc "el33".
>>
>>--------------------Et maintenant je veux retrouver l'element2 et l'element1 parent de "el33".
>>
>>
>>
>
>pour retrouver element2 je te propose :
> //element2[element3[ok = 'el33']],
>
>et pour element1:
> //element1[element2[element3[ok = 'el33']]]
>
>en espérant que ça te soit utile, pour la partie java je passe mon tour.
>Cdt.
>
>
--
Stéphane Bonhomme -- Exselt Services
Formations, Conseil et Réalisations en Ingénierie Documentaire,
Technologies Web et Logiciels Libres
s.bonhomme@wanadoo.fr - http://www.exselt.com
04 76 17 09 40 / 06 88 57 27 08
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Fri May 26 08:47:43 2006