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

Développement SQL Server Discussion :

Requête SQL pour générer un XML


Sujet :

Développement SQL Server

  1. #1
    Nouveau Candidat au Club
    Requête SQL pour générer un XML
    Bonjour à tous,

    Je bloque depuis quelques jours pour générer un fichier XML à l'aide d'une requête SQL sur SQL Serveur.
    J'ai beau étudier les différents FOR XML je n'arrive pas au résultat voulu et je suis arrivé au bout de ma boite de doliprane

    Je cherche à générer un XML de ce format:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
    <XpertProductionData>
          <Index Name="ETABLISSEMENT" Description="Date limite de paiement" Value="TEST1" ValueLabel="" Type="Text" />
          <Index Name="DATE_ETABLI" Description="Date d'etablissement" Value="08082019" ValueLabel="" Type="Text" />
          <Index Name="MONTANT" Description="Montant à payer" Value="1019984.00" ValueLabel="" Type="Text" /  
    </XpertProductionData>


    Toutes les valeurs sont en dures sauf pour le champ value (en gras) qui est récupéré depuis ma table.

    Quelqu'un pour m'aider à me mettre sur une piste?

  2. #2
    Modérateur

    bonjour,

    Quelle est la structure de la table ?

  3. #3
    Nouveau Candidat au Club
    Hello !

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT cx_immeuble1 as ETABLISSEMENT,DATE_ETABLI,TOTAL_COT1 as MONTANT
      FROM [dwdata].[dbo].[TAXE_FONCIERE]

  4. #4
    Membre éclairé
    Bonjour,

    Tu peux tester cette requête et voir ce que ça donne :
    Code sql :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT 
        cx_immeuble1 AS [Name]
        ,DATE_ETABLI AS [Description]
        ,TOTAL_COT1 AS [Value]
        ,'' AS ValueLabel
        ,'Text' AS [Type]
    FROM [dwdata].[dbo].[TAXE_FONCIERE]
    FOR XML RAW ('Index'), ROOT ('XpertProductionData');
    Code parrain certification Voltaire : NTMPH759

  5. #5
    Modérateur

    il n'y a qu'une seule ligne dans la table ???

    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
    23
    24
    25
    26
    27
    28
     
    WITH T AS (
    	SELECT 'TEST1' AS cx_immeuble1 , '08082019' as DATE_ETABLI , 101998 AS TOTAL_COT1
    )
    SELECT 
    		'ETABLISSEMENT' AS name
    	,	'Date limite de paiement' AS Description
    	,	cx_immeuble1 AS Value
    	,	'' AS ValueLabel
    	,	'text' AS Type
    FROM T
    UNION ALL
    SELECT 
    		'DATE_ETABLI' AS name
    	,	'Date d''etablissement' AS Description
    	,	DATE_ETABLI AS Value
    	,	'' AS ValueLabel
    	,	'text' AS Type
    FROM T
    UNION ALL
    SELECT 
    		'MONTANT' AS name
    	,	'Montant à payer' AS Description
    	,	CAST(TOTAL_COT1 AS VARCHAR(50)) AS Value
    	,	'' AS ValueLabel
    	,	'text' AS Type
    FROM T
    FOR XML RAW ('Index'), ROOT ('XpertProductionData');

###raw>template_hook.ano_emploi###