Forum Clubic

XML : Récupérer la valeur d'un atrribut - xml et xsl

Bonjour,

Je parse un fichier xml à l’aide de xsltproc.
Je n’arrive pas à récupérer les valeurs des attributs …

exemple de la structure du fichie xml :

<CATALOGUE Nom="Multimédia">
<BOUTIQUE nom="BAISSE_EN_DIRECT">
<RAYON nom="Télévision">
	<PRODUIT>
	<REFERENCE>ref</REFERENCE>
	<PRIX base="Euro T.T.C.">1 299,00 €</PRIX>
	</PRODUIT>
	<PRODUIT>
	<REFERENCE>ref2</REFERENCE>
	<PRIX base="Euro T.T.C.">1,00 €</PRIX>
	</PRODUIT>
</RAYON>
</BOUTIQUE>
</CATALOGUE>

voici mon fichier xsl :

<xsl:for-each select="CATALOGUE">
<xsl:param name="catalogue_ok"><xsl:value-of select="CATALOGUE/@Nom"/></xsl:param>
	<xsl:for-each select="BOUTIQUE">
	<xsl:param name="boutique_ok"><xsl:value-of select="BOUTIQUE/@nom"/></xsl:param>
  <xsl:for-each select="RAYON">
  <xsl:param name="rayon_ok"><xsl:value-of select="RAYON/@nom"/></xsl:param>
  	<xsl:for-each select="PRODUIT">
                                        <xsl:value-of select="$catalogue_ok"/><xsl:text>§</xsl:text>
                                        <xsl:value-of select="$boutique_ok"/><xsl:text>§</xsl:text>
                                        <xsl:value-of select="$rayon_ok"/><xsl:text>§</xsl:text>
                                        <xsl:value-of select="REFERENCE"/><xsl:text>§</xsl:text>
                                        <xsl:value-of select="PRIX"/><xsl:text>§</xsl:text>
  	</xsl:for-each>
  </xsl:for-each>
	</xsl:for-each>
</xsl:for-each>

mon problème est de récupérer les valeurs Multimédia, BAISSE_EN_DIRECT et Télévision … avec les fichiers actuels ces trois champs sont vides … cala fonctionne pour le reste des données …

Merci d’avance pour vos conseils …

c’est ta requete xpath qui meurde je crois…

http://jerome.developpez.com/xmlxsl/xpath/?lpage=&rpage=5

attends je vais essayer de trouver le truc qui va pas…

a tout hazar : //CATALOGUE/@Nom

avec les 2 // ça amrche peut etre mieux…

(de l’art du bouton [Editer])

Ca a l’air vraiment sympa XPath.

sn > xpath une fois que t’as pigé la syntaxe c’est nickel, j’utilise ça pour configurer les vieilles appli avec un bout de fichier xml, c’est vachement prtique.

Seul prob, j’en fais tous les 3 ans donc j’oublie a chaque fois :smiley:

C’est malin.

Faut te faire un tuto à garder sous la main :slight_smile:

ben le lien que j’ai donné :wink:

merci pour vos réponses je test ça de suite …

Effectivement tout fonctionne parfaitemment en ajoutant les // !

merci :slight_smile:

service :slight_smile: