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

MS SQL Server Discussion :

renvoyer des données sous forme de XML hiérarchique


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    mai 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2002
    Messages : 11
    Points : 11
    Points
    11
    Par défaut [RESOLU] renvoyer des données sous forme de XML hiérarchique
    bonjour,

    je voudrais générer un fichier XML à partir d'une table.
    En cherchant , j'ai trouvé la commande FOR XML avec ses différentes variantes et la plus appropriée pour mon cas semble être EXPLICIT mais j'ai un peu de mal à comprendre comment ça marche, donc voici mon probleme:

    J'ai une table Ecole avec les champs suivants
    (IdClasse, NomClasse, IdEleve, NomEleve)

    je voudrais obtenir le flux xml suivant :
    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
     
    <Classe IdClasse="1" NomClasse="Classe1">
       <Eleve IdEleve="1" NomEleve="Eleve1"/>
       <Eleve IdEleve="2" NomEleve="Eleve2"/>
       <Eleve IdEleve="3" NomEleve="Eleve3"/>
       <Eleve IdEleve="4" NomEleve="Eleve4"/>
       <Eleve IdEleve="5" NomEleve="Eleve5"/>
    </Classe>
    ....
    <Classe IdClasse="10" NomClasse="Classe10">
       <Eleve IdEleve="101" NomEleve="Eleve101"/>
       <Eleve IdEleve="102" NomEleve="Eleve102"/>
       <Eleve IdEleve="103" NomEleve="Eleve103"/>
       <Eleve IdEleve="104" NomEleve="Eleve104"/>
       <Eleve IdEleve="105" NomEleve="Eleve105"/>
    </Classe>
    ca n'a pas l'air compliqué mais je gagnerai du temps si je pouvais comprendre cet exemple.

    d:->>

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    mai 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2002
    Messages : 11
    Points : 11
    Points
    11
    Par défaut une solution
    si comme moi vous trouvez la documentation de SQL Server un peu floue, je vous conseille l'article suivant : http://www.quest-pipelines.com/newsletter-v3/0502_B.htm
    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
     
    	SELECT 	DISTINCT	1 as Tag,
    					null as Parent,
    					IdClasse as [Classe!1!IdClasse],
    					NomClasse as [Classe!1!NomClasse],
    					null as [Eleve!2!IdEleve],
    					null as [Eleve!2!NomEleve]
    	FROM Ecole 
    	UNION ALL
    	SELECT 	2 as Tag, 
    		     1 as Parent,
    		     IdClasse,
    		     null,
    		     IdEleve,
    		     NomEleve
    	FROM Ecole 
    	ORDER BY [Classe!1!IdClasse], [Eleve!2!IdEleve]
    	FOR XML EXPLICIT

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2004
    Messages : 58
    Points : 46
    Points
    46
    Par défaut Pb longueur resultat retourné
    Bonjour @ tous!

    le résultat renvoyé en testant ce que vs préconisez plus haut et tronqué à partir d'un certain nombre de caractères renvoyé....
    voici ce que ma requête sql me renvoie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <Processus Processus="P1"><Activite Activite="A4"><TypeDocument TypeDocument="Avenants"/></Activite><Activite Activite="A6"><TypeDocument TypeDocument="DT"/></Activite><Activite Activite="A6"><TypeDocument TypeDocument="Inventaires"/></Activite><Activite A
    comment faire pour renvoyer tous les caractères?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    juin 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2004
    Messages : 17
    Points : 18
    Points
    18
    Par défaut
    Une autre solution pour Génerer un fichier xml a partir d une requete : XSQL. Tu auras a la sortie un jolie document formaté. Pour cela il te faut passser ta requete dans un fichier.xsql qui sera exécuté sur un serveur tomcat. Ressources : http://membres.lycos.fr/benoitgenot/ (un autre membre du forum ! ou encore http://www.lri.fr/~rigaux/GII/ et http://www.lri.fr/~rigaux/GII/DOCS/install.pdf pour la config xsql de tomcat
    A+

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/01/2008, 11h20
  2. afficher des données sous forme de liste
    Par yannick9 dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/08/2007, 15h32
  3. jsp+afficher des données sous forme de graphes
    Par oasma dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 25/03/2007, 14h24
  4. Générer des données sous forme de graphiques (comme excel)
    Par matterazzo dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 26/10/2005, 20h21
  5. Exporter des données sous forme de requetes
    Par Pasiphae dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 06/10/2004, 18h27

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