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

XML/XSL et SOAP Discussion :

[XML] Transformer un fichier xml


Sujet :

XML/XSL et SOAP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 43
    Points : 20
    Points
    20
    Par défaut [XML] Transformer un fichier xml
    Salut
    je voudrais transformer mon fichier xml en un autre fichier xml.
    J'ai vu que l'on pouvait le faire via xslt.
    Voila un bout de mon fichier xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <doc>
    <test1 x="1" y="2"> plusieurs noeuds </test1>
    <test2 x="3" y="4"> plusieurs noeuds </test2>
    </doc>
    Et je voudrais qu'il devienne en fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <doc>
    <bloc name="test1" x="1" y="2"> plusieurs noeuds </bloc>
    <bloc name="test2" x="3" y="4"> plusieurs noeuds </bloc>
    </doc>
    Je m'explique :
    en fait je voudrais prendre le contenu du noeud "test1" et le mettre dans un noeud "bloc" avec comme attribut "name" = au nom du noeuds cad "test1" en gardant les attributs du noeud "test1"

    Voila je ne sais pas si c'est possible merci de vos réponses

    J'espere que j'ai ete clair dans mes explications

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    Ceci devrait faire l'affaire :
    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
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:template match="doc">
        <doc>
          <xsl:for-each select="*">
            <bloc>
              <!-- on recopie les attributs -->
              <xsl:copy-of select=@*"/>
              <xsl:attribute name="name"><xsl:value-of select="name()"/></xsl:attribute>
              <!-- on recopie le contenu de l'élément, élément par élément -->
              <xsl:for-each select="*">
                <xsl:copy-of select="."/>
              </xsl:for-each>
            </bloc>
          </xsl:for-each>
        </doc>
      </xsl:template>
    </xsl:stylesheet>

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 43
    Points : 20
    Points
    20
    Par défaut
    merci bcp.
    Je vais essayer ca tout de suite

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 43
    Points : 20
    Points
    20
    Par défaut
    ReSalut

    en fait je voudrais ensuite mettre en page mon xml via une xslt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <xsl:template match="bloc" name="bloc">
      <xsl:for-each select="bloc">
              <div id="{@name}" style="position:absolute;left:{@x};top:{@y};width:{@l};height:{@h}; border-right: fuchsia thin solid; border-top: fuchsia thin solid; border-left: fuchsia thin solid; border-bottom: fuchsia thin solid;">
    <img width="100%" height="100%">
                <xsl:attribute name="src">
                  <xsl:value-of select="PHOTO_01/@source"/>
                </xsl:attribute>
              </img>
    </div>
      </xsl:for-each>
    </xsl:template>
    Et la en fait ce qui ce passe avec le code que tu m'as donne c qu'il affiche tous les valeurs de tous les noeuds de tous les noeuds "bloc".

    Donc en fait ma question est simple : est ce qu'il est possible de transformer un fichier xml et de mettre en page ce meme fichier transformé.

    Merci d'avance

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/04/2014, 14h58
  2. transformer un fichier XML en un fichier text
    Par pandalass dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 30/01/2009, 19h05
  3. Transformer un fichier xml en un fichier plat
    Par sebgatz dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 09/05/2007, 23h25
  4. [XSLT]transformer un fichier XML en en fichier XML
    Par alexandra dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 16/08/2006, 14h26
  5. [XSL] Comment transformer un fichier XML en un autre XML
    Par elzedo dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 16/01/2006, 10h51

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