IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSLT] Changer la valeur d'un noeud donné


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 21
    Points : 19
    Points
    19
    Par défaut [XSLT] Changer la valeur d'un noeud donné
    Bonjour,

    je voudrais pouvoir modifier la valeur d'un noeud d'un fichier xml.

    Plus précisément, j'ai un fichier xml en entrée, je voudrai avoir le même fichier xml en sortie sauf un noeud qui garde le même nom mais dont la valeur à changer.

    EX. :
    fichier en entrée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <A>
       <B>1ère valeur</B>
       <C>0000</C>
       <D>1111</D>
    </A>
    fichier en sortie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <A>
       <B>2ème valeur</B>
       <C>0000</C>
       <D>1111</D>
    </A>
    Quelqu'un pourrait-il m'aider ?

    Merci.

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    C'est dans la ligné de ce type de programme
    http://xml.developpez.com/sources/?page=modifs

    A adapter

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 21
    Points : 19
    Points
    19
    Par défaut
    Merci pour la réponse. Mais mon problème est de sélectionner le noeud à modifier (<NUM>) et pas les autres.

    Voici mon code qui ne fonctionne pas (rien en sortie) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" 
    xmlns:exsl="http://exslt.org/common" 
    extension-element-prefixes="exsl" >
     
     
    <xsl:output encoding="iso-8859-1" indent="yes"/> 
     
    <xsl:template match="/" >
    ...	
     
    	<xsl:copy>
    				<xsl:apply-template select="." />
    	</xsl:copy>
     
    </xsl:template>
     
    <xsl:template match="NUM" >
      <NUM>
      <xsl:text>FFFF</xsl:text>
      </NUM>
    </xsl:template>
     
    <xsl:template match="not(NUM)" >
    <xsl:copy-of select="." />
    </xsl:template>
     
    </xsl:stylesheet>

    Je ne sais pas si l'instruction <xsl:template match="not(NUM)" > est correcte.

  4. #4
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Je ne sais pas si l'instruction <xsl:template match="not(NUM)" > est correcte.
    Non.

    Pour le reste la reponse dans le lien que j'ai donné si tu avais pris le temps de regarder le code ....
    plus précisemment ce cas là
    http://xml.developpez.com/sources/?page=modifs#I_sup

    Si tu regardes un peu , tu t'apercevras que la seul chose qui change c'est que toi tu rajoutera un contenu à la template au lieu de la laissé vide....

Discussions similaires

  1. [XSLT] Obtenir la valeur d'un noeud namespacé
    Par Yeb215 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 10/05/2010, 22h24
  2. [XSLT] obtenir la valeur d'un noeud à partir de son nom
    Par gambic dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 20/10/2009, 11h10
  3. [XSLT] Récupérer une valeur pour un id donné
    Par capblans dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 23/04/2008, 09h26
  4. [XSLT] Changer la valeur d'un attribut XML
    Par Rouxy007 dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 14/02/2007, 23h06
  5. [XSLT]introduire la valeur d'un noeud dans une balise html
    Par delma dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 19/10/2006, 22h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo