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 :

XMl : modification de valeur au sein d un fichier


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2013
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 86
    Par défaut XMl : modification de valeur au sein d un fichier
    Bonsoir

    comment procède t on pour modifier une valeur présente dans un fichier xml ?
    je souhaiterai faire en sorte de remplacer toutes les valeurs de @Valeur égales à "nombre1" par "valeur1"

    fichier d origine :
    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
     
    <GeneratedReport>	   
    <Interval Start="2013/09/17 00:00:00.000" End="2013/09/24 23:59:59.000">	   
    <toto Valeur="nombre1"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur2"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur3"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="nombre1"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur2"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur3"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="nombre1"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur2"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur3"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="nombre1"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur2"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur3"  Date="2013/09/17 00:00:05.717"/>	   
    </Interval>	   
    </GeneratedReport>
    afin d'obtenir le fichier xml suivant pour ensuite poursuivre un traitement à l'aide d'un fichier xsl

    fichier à obtenir
    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
     
    <GeneratedReport>	   
    <Interval Start="2013/09/17 00:00:00.000" End="2013/09/24 23:59:59.000">	   
    <toto Valeur="valeur1"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur2"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur3"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur1"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur2"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur3"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur1"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur2"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur3"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur1"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur2"  Date="2013/09/17 00:00:05.717"/>	   
    <toto Valeur="valeur3"  Date="2013/09/17 00:00:05.717"/>	   
    </Interval>	   
    </GeneratedReport>

    Par avance merci

  2. #2
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Vous mettez un template spécial travailleur à côté des templates qui font une transformation identitaire.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:template match="toto[@Valeur='nombre1']/@Valeur">
        <xsl:attribute name="{name()}">
            <xsl:value-of select="'valeur1'" />
        </xsl:attribute>
    </xsl:template>
    Ce n'est pas que pour xslt 2.0, c'est valable egalement pour xslt 1.0 aussi.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2013
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 86
    Par défaut
    bonsoir

    merci infiniment pour votre reponse

    cela correspond à mon attente

    cordialement

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2013
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 86
    Par défaut
    Mais comment précise t on que l on souhaite que la modification soit effective dans le fichier xml en cours ?

    est ce dans l entete du fichier xls ?

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par raphael75015 Voir le message
    Mais comment précise t on que l on souhaite que la modification soit effective dans le fichier xml en cours ?
    C'est impossible. À la rigueur si le moteur XSLT le permet, il suffit de lui donner le même fichier à lire et à générer.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [DOM XML] Modification de valeur dans un fichier XML
    Par scorpion1611 dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 05/09/2007, 14h53
  2. Réponses: 1
    Dernier message: 02/08/2007, 16h17
  3. Copie d'un fichier XML avec modification de valeur d'attribut
    Par CocoRambo dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 11/07/2007, 09h21
  4. [XML] Modification de la valeur d'un attribut
    Par chrix10.2 dans le forum Général Python
    Réponses: 2
    Dernier message: 06/12/2006, 09h16
  5. [VB.NET] [XML] Modification d'une valeur
    Par kirk80 dans le forum Windows Forms
    Réponses: 9
    Dernier message: 09/09/2004, 16h15

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