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] xml vers sql


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Par défaut [XSLT] xml vers sql
    Bonjour,
    qq'un pourrait m'aider a editer un xslt qui traduirais ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <element tag="0008,0005" vr="CS" vm="1" len="10" name="SpecificCharacterSet">ISO_IR 100</element>
    <element tag="0008,0008" vr="CS" vm="4" len="28" name="ImageType">ORIGINAL\PRIMARY\AXIAL\HELIX</element>
    <element tag="0008,0012" vr="DA" vm="1" len="8" name="InstanceCreationDate">20070426</element>
    <element tag="0008,0013" vr="TM" vm="1" len="6" name="InstanceCreationTime">094739</element>
    <element tag="0008,0016" vr="UI" vm="1" len="26" name="SOPClassUID">1.2.840.10008.5.1.4.1.1.2</element>
    <element tag="0008,0018" vr="UI" vm="1" len="42" name="SOPInstanceUID">1.2.840.113704.1.111.6460.1177573659.1439</element>
    <element tag="0008,0020" vr="DA" vm="1" len="8" name="StudyDate">20070426</element>
    en ceci:
    insert in to [table] values ('xxx', 'xxx',);
    Le xml est toujours sonstitué de la meme façon, et il y a environ 50 champs d'information.
    Est ce possible?
    D'avance merci
    Luis

  2. #2
    Membre émérite
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Par défaut
    à partir du fichier xml peux tu nous donner le sql que tu veux générer car là pour ma part je me pose la question suivante par exemple: 1 fichier xml = 1 insert ?

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Par défaut xml2sql
    Bonjour,
    en fait le but est de generer un fichier sql (un seul) avec autant de ligne insert que d'elements a inserer dans la base.
    Donc par exemple s'il y a 15 <element><.....>VALEUR</element>
    et bien nous aurons un fichier sql avec 15 fois insert into.

    J'ai commencé a faire ceci, mais j'y arrive pas:

    <xsl:stylesheet version="1.0" xmlnssl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text"/>

    <xsl:template match="/">
    <xsl:apply-templates select="//element"/>
    </xsl:template>

    <xsl:template match="element">
    <xsl:text>insert into cabezera (MetaElementGroupLength)
    values('</xsl:text>');
    <xsl:text>insert into cabezera (MediaStorageSOPClassUID)
    values('</xsl:text>');

    </xsl:template>

    </xsl:stylesheet>


    D'avance merci

  4. #4
    Membre émérite
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Par défaut
    en faite qi on ne prend que la ligne
    <element tag="0008,0005" vr="CS" vm="1" len="10" name="SpecificCharacterSet">ISO_IR 100</element>

    le sql que tu veux obtenir ressemble à quoi?

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Par défaut xml2sql
    Bonjour,
    et bien pour cette ligne ca ferait ca :

    <element tag="0008,0005" vr="CS" vm="1" len="10" name="SpecificCharacterSet">ISO_IR 100</element>


    SQL
    insert in TABLE ("SpecificCharacterSet") values ("ISO_IR 100");

    Sachant qu'il n'y a qu'une seule table avec plein de champs, et chaque champs n'as qu'une seule valeur.
    D'avance merci
    Luis

  6. #6
    Membre émérite
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <xsl:stylesheet version="1.0" xmlnssl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text"/>
     
    <xsl:template match="/">
    <xsl:apply-templates select="//element"/>
    </xsl:template>
     
    <xsl:template match="element">
    insert into cabezera (<xsl:value-of select = "./@name" />) values('<xsl:value-of select = "." />');
    </xsl:template>
     
    </xsl:stylesheet>

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

Discussions similaires

  1. [XSLT] XML vers SQL
    Par defrayprod dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 01/12/2007, 15h03
  2. [XSLT] XML vers HTML
    Par SONY30 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 05/04/2007, 08h54
  3. [XSLT]XML vers tableau html
    Par lcdDEV dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 27/10/2006, 16h55
  4. Importation xml vers sql server
    Par nicko5959 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/01/2006, 09h06
  5. [XSLT] XML vers XML
    Par ren0 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 13/10/2004, 12h54

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