XPath, XML et requete

RegVB Messages postés 81 Date d'inscription vendredi 23 août 2002 Statut Membre Dernière intervention 6 février 2009 - 2 août 2005 à 18:07
RegVB Messages postés 81 Date d'inscription vendredi 23 août 2002 Statut Membre Dernière intervention 6 février 2009 - 3 août 2005 à 09:18
Bonjour à tous,

Je désire rechercher des données dans un fichier xml grace à XPath :
exemple :

<?
xml version="1.0"?>


<refregion seg="ref01">


<region>75</region>


<nom>Paris</nom>


</refregion>


<refregion seg="ref02">


<region>75</region>


<nom>Paris Est</nom>


</refregion>

Je cherche à créer une requête afin d'obtenir rapidement le nom si je possède seg et region mais toutes mes tentatives sont des échecs ; ma dernière trouvaille :

element/refregion[@segt='ref02']/nom and element/refregion[region="75"] renvoie True (le
ReturnType de ma requête étant un XPathResultType.Boolean) mais je voudrais une requête qui me renvoie un NodeType dont je puisse extraire nom!

Si quelqu'un m'a compris et peu m'aider Merci beaucoup d'avance
P.S : mon projet m'oblige à utiliser XPath uniquement

2 réponses

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
3 août 2005 à 07:59
Hello,

Je ne sais pas si c'est le problème principal, mais ton XML n'est pas valide, il y a deux éléments refregion, alors qu'un fichiers XML ne peut avoir qu'une racine. Il faudrait les regrouper dans un refregions.

<?xml version="1.0"?>
<refregions>
<refregion>...</refregion>
<refregion>...</refregion>
</refregions>

Amicalement, SharpMao
RegVB Messages postés 81 Date d'inscription vendredi 23 août 2002 Statut Membre Dernière intervention 6 février 2009
3 août 2005 à 09:18
En fait, je me suis trompé dans mon copier/coller mais les éléments refregion font partie d'une racine (par ex. Elements).
J'ai trouvé une solution peu élégante hier soir en mettant region en attribu (en plus de seg) comme cela ma requête XPath fonctionne et me renvoie bien mon nom de region.

Merci pour ton aide.
Rejoignez-nous