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] Insérer un élément dans XML


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut [XSLT] Insérer un élément dans XML
    Bonjour,

    Je voudrais savoir comment insérer un nouveau élément dans un fichier XML, en utilisant XSLT.

    Mon XML : je voudrais insérer un nouveau élément "key" à la fin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="iso-8859-1"?>
    <metadata type-element="ELEMENTRM">
    	<key name="IdElementLogique" value="123"/>
    	<key name="IdGroupe" value="456"/>
    </metadata>
    J'ai utilisé xsl:element comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
    	<xsl:output encoding="utf-8" method="xml" media-type="text/xml"/>
     
    	<xsl:template match="/">
    		<xsl:element name="key">
                            <xsl:attribute name="name">ID</xsl:attribute>
                    </xsl:element>
    	</xsl:template>
     
    </xsl:stylesheet>
    Mais ce code remplace TOUT mon contenu existant par le nouveau élément.
    Comment fait-on pour lui dire d'insérer à tel ou tel endroit ??

    Merci pour votre aide.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Points : 231
    Points
    231
    Par défaut
    Bonjour,

    Il faut insérer le nouvel élément avant la fermeture de metadata :
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
     
    <xsl:output encoding="utf-8" method="xml" media-type="text/xml"/>
     
    <xsl:template match="metadata">
    	<xsl:copy>
    		<xsl:apply-templates select="*|@*" />
    		<xsl:element name="key">
    			<xsl:attribute name="name">ID</xsl:attribute>
    		</xsl:element>
    	</xsl:copy>
    </xsl:template>
     
    <xsl:template match="*|@*">
    	<xsl:copy>
    		<xsl:apply-templates select="*|@*|text()" />
    	</xsl:copy>
    </xsl:template>
     
    </xsl:stylesheet>

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bravo ca marche ! Merci beaucoup.

    Si je souhaite utiliser un paramètre dans mon XSLT que j'ai défini coté java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    transformer.setParameter("param", param);
    Comment dois-je l'utiliser côté XSLT pour la valeur de "name" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:element name="key">
    		        <xsl:attribute name="name">ID</xsl:attribute>
    	</xsl:element>
    Merci par avance.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    C'est bon, j'ai trouvé !
    Merci quand même !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/05/2011, 15h51
  2. [JDOM] Ajout élément dans xml
    Par bidulee dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 24/04/2009, 18h24
  3. [JDOM] Ajout d'éléments dans xml et spécifications DTD
    Par laurent_m dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 18/06/2007, 16h39
  4. insérer des élément dans une base de donné
    Par wiss20000 dans le forum JDBC
    Réponses: 5
    Dernier message: 01/03/2007, 15h49

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