Selection dans fichier xml

cs_math11 Messages postés 47 Date d'inscription mardi 9 août 2005 Statut Membre Dernière intervention 31 mai 2012 - 25 juin 2010 à 14:27
cs_math11 Messages postés 47 Date d'inscription mardi 9 août 2005 Statut Membre Dernière intervention 31 mai 2012 - 30 juin 2010 à 14:42
Bonjour,

J'ai un fichier xml qui regroupe un nombre important d'informations (environ 200), le fichier est formé comme suit:

<markers>
<marker name= "" lat="" lng="" logo="" url="" details="" pays="" projet="x" projet="a" projet="c"></marker>
<marker name="" lat="" lng="" logo="" url="" details="" pays="" projet="x" projet="v" projet="g"></marker>
<marker name="" lat="" lng="" logo="" url="" details="" pays="" projet="y" projet="h" projet="f"></marker>
</markers>


Mon problème, je souhaiterais sélectionner et afficher un ou plusieurs enregistrements en fonction du projet, mais uniquement les données du projet "x".

Actuellement, le fichier xslt, formé comme ci-dessous, me ramène tous les enregistrements.

 Nom l'institut  |pays |
<xsl:for-each select =\"markers/marker\">
----
<xsl:value-of select="name[@projet='x']"/>

<xsl:if test="name[@projet!='x']">

<xsl:value-of select="name"/></xsl:if>,
<xsl:value-of select="pays"/>,

</xsl:for-each>
 


Que doit-je modifier ou ajouter pour obtenir la même requête qu'en sql?
select * from table where projet='x';


Merci d'avance

math11

2 réponses

pierrehenri56 Messages postés 63 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 29 octobre 2013 1
29 juin 2010 à 11:28
Bonjour,

La meilleure solution si tu veux utiliser une méthode proche de celle des requêtes est d'utiliser Linq To Xml, qui est simple à mettre en place et assez puissant.

Il existe plusieurs tutoriels sur internet. J'ai commencé à en faire un si ça peut t'aider : http://www.pierrehenri.fr/category/Linq.aspx

Si tu ne veux pas utiliser Linq, il existe aussi XPathNavigator, mais un peu moins intéressant à développer.

En espérant t'avoir fait avancer.

Bon courage
0
cs_math11 Messages postés 47 Date d'inscription mardi 9 août 2005 Statut Membre Dernière intervention 31 mai 2012
30 juin 2010 à 14:42
Bonjour,

Merci pierrehenri56 pour cette réponse, mais dans mon cas, il s'agit d'utiliser un fichier xml comme source de données, dans le cadre d'un site internet en php.

J'ai depuis trouvé une solution efficace, tout en utilisant un fichier xsl avec une condition au sein d'un marqueur for-each.

math11
0
Rejoignez-nous