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 :

xml et sql server


Sujet :

MS SQL Server

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut xml et sql server
    Bonjour a tous,

    j'ai besoin d'aide s.v.p.

    j'ai un fichier xml comme ceci:

    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
    <?xml version="1.0" encoding="utf-8" ?>
    <rootMenu>
      <topMenu text="Button1">
        <menuItem href="template.aspx" text="B1I1" />
        <menuItem href="template.aspx" text="B1I2" />
        <menuItem text="B1I3">
          <menuItem href="template.aspx" text="B1I3I1" />
          <menuItem href="template.aspx" text="B1I3I2" />
        </menuItem>
      </topMenu>
      <topMenu text="Button2">
        <menuItem href="template.aspx" text="B2I1" />
        <menuItem href="template.aspx" text="B2I2" />
        <menuItem href="template.aspx" text="B2I3" />
        <menuItem text="B2I4">
          <menuItem text="B2I4I1">
            <menuItem href="template.aspx" text="B2I4I1I1I1" />
          </menuItem>
        </menuItem>
      </topMenu>
    </rootMenu>
    qu'es que je dois faire pour avoir un xml de ce type, utiliser une table menu et générer directement une sortie XML

    merci

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Bonjour,

    Quel est votre besoin ?

    Vous voulez créer un fichier xml de ce format à partir de tables existantes dans votre base ?

    ++

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Oui c'est ca, mais je ne sais pas si j'aurais besoin d'une table ou plusieurs pour le generer

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Tout cela va donc dépendre de vos tables et de la version de SQL Server que vous utilisez.

    - Donnez la DDL de vos tables et un jeu de données (si possible)
    - La version de votre serveur SQL

    ++

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par mikedavem Voir le message
    Tout cela va donc dépendre de vos tables et de la version de SQL Server que vous utilisez.

    - Donnez la DDL de vos tables et un jeu de données (si possible)
    - La version de votre serveur SQL

    ++
    J'ai SQL Server 2008.

    Pour la DDL de mes tables, je crois une table de ce type fera l'affaire

    Table Menu:
    ID
    Parent : 0 si c'est un parent / le numero de son parent si c'est un fils
    Text : text du menu.
    href : link du menu.
    sort : peut etre pour faire sortir le menu comme on veut.

    jeu de données: le XML que je veux generer

    ID Parent Text href sort
    1 0 Button1 null 0
    2 1 B1I1 template.aspx 0
    3 1 B1I2 template.aspx 0
    4 1 B1I3 null 0
    5 4 B1I3I1 template.aspx 0
    6 4 B1I3I1 template.aspx 0
    7 0 Button2 null 0
    8 7 B2I1 template.aspx 0
    9 7 B2I2 template.aspx 0
    10 7 B2I3 template.aspx 0
    11 7 B2I4 null 0
    12 11 B2I4I1 template.aspx 0
    13 12 B2I4I1I1 template.aspx 0

  6. #6
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Est ce que le nombre d'éléments imbriqué a une limite (On peut avoir jusquà 6 niveaux par exemple ...) ou est ce que celui-ci est indéterminé ?

    ++

  7. #7
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Une solution qui ne me plaît pas plus que cela.. il y a peut être mieux car celle-ci n'est pas dynamique en fonction du niveau de hiérarchie des éléments que vous pouvez avoir :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    WITH CTE
    AS
    (
     SELECT *
     FROM (VALUES (1, 0, 'Button1', null, 0),
                  (2, 1, 'B1I1', 'template.aspx', 0),
                  (3, 1, 'B1I2', 'template.aspx', 0),
                  (4, 1, 'B1I3', null, 0),
                  (5, 4, 'B1I3I1', 'template.aspx', 0),
    			  (6, 4, 'B1I3I1', 'template.aspx', 0),
    			  (7, 0, 'Button2', null, 0),
    			  (8, 7, 'B2I1', 'template.aspx', 0),
                  (9, 7, 'B2I2', 'template.aspx', 0),
    			  (10, 7, 'B2I3', 'template.aspx', 0),
    			  (11, 7, 'B2I4', null, 0),
    			  (12, 11, 'B2I4I1', 'template.aspx', 0),
    			  (13, 12, 'B2I4I1I1', 'template.aspx', 0)) AS T(ID, Parent, [Text], href, sort)
    )
    SELECT 
    	1 AS Tag,
    	NULL AS Parent,
    	[text] AS "TopMenu!1!Text",
    	NULL AS "MenuItem!2!href",
    	NULL AS "MenuItem!2!Text",
    	NULL AS "MenuItem!3!href",
    	NULL AS "MenuItem!3!Text"
    FROM CTE
    WHERE Parent = 0
    UNION ALL
    SELECT 
    	2 AS Tag,
    	1 AS Parent,
    	CTE.[Text],
    	ItemMenu.href,
    	ItemMenu.[text],
    	NULL,
    	NULL
    FROM CTE
    INNER JOIN CTE AS ItemMenu
    ON CTE.ID = ItemMenu.Parent
    WHERE CTE.Parent = 0
    UNION ALL
    SELECT 
    	3 AS Tag,
    	2 AS Parent,
    	CTE.[Text],
    	ItemMenu.href,
    	ItemMenu.[text],
    	ItemMenuSub.href,
    	ItemMenuSub.[Text]
    FROM CTE 
    INNER JOIN CTE AS ItemMenu
    ON CTE.ID = ItemMenu.Parent
    INNER JOIN CTE AS ItemMenuSub
    ON ItemMenu.ID = ItemMenuSub.Parent
    WHERE CTE.Parent = 0
    ORDER BY "TopMenu!1!Text", "MenuItem!2!Text"
    FOR XML EXPLICIT, ROOT('RootMenu');
    ++

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par mikedavem Voir le message
    Une solution qui ne me plaît pas plus que cela.. il y a peut être mieux car celle-ci n'est pas dynamique en fonction du niveau de hiérarchie des éléments que vous pouvez avoir :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    WITH CTE
    AS
    (
     SELECT *
     FROM (VALUES (1, 0, 'Button1', null, 0),
                  (2, 1, 'B1I1', 'template.aspx', 0),
                  (3, 1, 'B1I2', 'template.aspx', 0),
                  (4, 1, 'B1I3', null, 0),
                  (5, 4, 'B1I3I1', 'template.aspx', 0),
    			  (6, 4, 'B1I3I1', 'template.aspx', 0),
    			  (7, 0, 'Button2', null, 0),
    			  (8, 7, 'B2I1', 'template.aspx', 0),
                  (9, 7, 'B2I2', 'template.aspx', 0),
    			  (10, 7, 'B2I3', 'template.aspx', 0),
    			  (11, 7, 'B2I4', null, 0),
    			  (12, 11, 'B2I4I1', 'template.aspx', 0),
    			  (13, 12, 'B2I4I1I1', 'template.aspx', 0)) AS T(ID, Parent, [Text], href, sort)
    )
    SELECT 
    	1 AS Tag,
    	NULL AS Parent,
    	[text] AS "TopMenu!1!Text",
    	NULL AS "MenuItem!2!href",
    	NULL AS "MenuItem!2!Text",
    	NULL AS "MenuItem!3!href",
    	NULL AS "MenuItem!3!Text"
    FROM CTE
    WHERE Parent = 0
    UNION ALL
    SELECT 
    	2 AS Tag,
    	1 AS Parent,
    	CTE.[Text],
    	ItemMenu.href,
    	ItemMenu.[text],
    	NULL,
    	NULL
    FROM CTE
    INNER JOIN CTE AS ItemMenu
    ON CTE.ID = ItemMenu.Parent
    WHERE CTE.Parent = 0
    UNION ALL
    SELECT 
    	3 AS Tag,
    	2 AS Parent,
    	CTE.[Text],
    	ItemMenu.href,
    	ItemMenu.[text],
    	ItemMenuSub.href,
    	ItemMenuSub.[Text]
    FROM CTE 
    INNER JOIN CTE AS ItemMenu
    ON CTE.ID = ItemMenu.Parent
    INNER JOIN CTE AS ItemMenuSub
    ON ItemMenu.ID = ItemMenuSub.Parent
    WHERE CTE.Parent = 0
    ORDER BY "TopMenu!1!Text", "MenuItem!2!Text"
    FOR XML EXPLICIT, ROOT('RootMenu');
    ++
    Bonjour,

    les niveaux ont une valeur maximum 4

    merci pour ta solution, je ne suis pas un expert dans les requetes SQL, parceque je ne vois un "select" de la table menu.

    Ce que je vois c'est statique, je vais t'expliquer un peu plus:

    J'ai une application .NET, le menu est dynamique et dependera de l'utilisateur. Je veux creer une procedure qui me genere un xml que je ferais appel depuis mon APP .NET.

    Est ce que cette solution fera l'affaire?

    merci

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    J'ai exécuter ton code et le résultat:

    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
    <RootMenu>
    <TopMenu Text="Button1">
    <MenuItem href="template.aspx" Text="B1I1"/>
    <MenuItem href="template.aspx" Text="B1I2"/>
    <MenuItem Text="B1I3">
    <MenuItem href="template.aspx" Text="B1I3I1"/>
    <MenuItem href="template.aspx" Text="B1I3I1"/>
    </MenuItem>
    </TopMenu>
    <TopMenu Text="Button2">
    <MenuItem href="template.aspx" Text="B2I1"/>
    <MenuItem href="template.aspx" Text="B2I2"/>
    <MenuItem href="template.aspx" Text="B2I3"/>
    <MenuItem Text="B2I4">
    <MenuItem href="template.aspx" Text="B2I4I1"/>
    </MenuItem>
    </TopMenu>
    </RootMenu>
    1- je ne vois pas le nœud de niveau 4:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <MenuItem href="template.aspx" Text="B2I4I1I1I1"/>

  10. #10
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    En effet, j'ai oublié le dernier niveau ...
    Je vais essayer de poster une solution plus propre plus tard avec XML PATH par exemple ou peut être que quelqu'un aura trouvé une solution avant

    En attendant si votre nombre de niveau est fixé à 4 maximum cette solution devrait fonctionner pour vous.

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    WITH CTE
    AS
    (
     SELECT *
     FROM (VALUES (1, 0, 'Button1', NULL, 0),
                  (2, 1, 'B1I1', 'template.aspx', 0),
                  (3, 1, 'B1I2', 'template.aspx', 0),
                  (4, 1, 'B1I3', NULL, 0),
                  (5, 4, 'B1I3I1', 'template.aspx', 0),
    			  (6, 4, 'B1I3I1', 'template.aspx', 0),
    			  (7, 0, 'Button2', NULL, 0),
    			  (8, 7, 'B2I1', 'template.aspx', 0),
                  (9, 7, 'B2I2', 'template.aspx', 0),
    			  (10, 7, 'B2I3', 'template.aspx', 0),
    			  (11, 7, 'B2I4', NULL, 0),
    			  (12, 11, 'B2I4I1', 'template.aspx', 0),
    			  (13, 12, 'B2I4I1I1', 'template.aspx', 0)) AS T(ID, Parent, [Text], href, sort)
    )
    SELECT 
    	1 AS Tag,
    	NULL AS Parent,
    	[text] AS "TopMenu!1!Text",
    	NULL AS "MenuItem!2!href",
    	NULL AS "MenuItem!2!Text",
    	NULL AS "MenuItem!3!href",
    	NULL AS "MenuItem!3!Text",
    	NULL AS "MenuItem!4!href",
    	NULL AS "MenuItem!4!Text"
    FROM CTE
    WHERE Parent = 0
    UNION ALL
    SELECT 
    	2 AS Tag,
    	1 AS Parent,
    	CTE.[Text],
    	ItemMenu.href,
    	ItemMenu.[text],
    	NULL,
    	NULL,
    	NULL,
    	NULL
    FROM CTE
    INNER JOIN CTE AS ItemMenu
    ON CTE.ID = ItemMenu.Parent
    WHERE CTE.Parent = 0
    UNION ALL
    SELECT 
    	3 AS Tag,
    	2 AS Parent,
    	CTE.[Text],
    	ItemMenu.href,
    	ItemMenu.[text],
    	ItemMenuSub.href,
    	ItemMenuSub.[Text],
    	NULL,
    	NULL
    FROM CTE 
    INNER JOIN CTE AS ItemMenu
    ON CTE.ID = ItemMenu.Parent
    INNER JOIN CTE AS ItemMenuSub
    ON ItemMenu.ID = ItemMenuSub.Parent
    WHERE CTE.Parent = 0
    UNION ALL
    SELECT 
    	4 AS Tag,
    	3 AS Parent,
    	CTE.[Text],
    	ItemMenu.href,
    	ItemMenu.[text],
    	ItemMenuSub.href,
    	ItemMenuSub.[Text],
    	ItemMenuSubSub.href,
    	ItemMenuSubSub.[Text]
    FROM CTE 
    INNER JOIN CTE AS ItemMenu
    ON CTE.ID = ItemMenu.Parent
    INNER JOIN CTE AS ItemMenuSub
    ON ItemMenu.ID = ItemMenuSub.Parent
    INNER JOIN CTE AS ItemMenuSubSub
    ON ItemMenuSub.ID = ItemMenuSubSub.Parent
    WHERE CTE.Parent = 0
    ORDER BY "TopMenu!1!Text", "MenuItem!2!Text", "MenuItem!3!Text", "MenuItem!4!Text"
    FOR XML EXPLICIT, ROOT('RootMenu');
    Résultat :

    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
    <RootMenu>
      <TopMenu Text="Button1">
        <MenuItem href="template.aspx" Text="B1I1" />
        <MenuItem href="template.aspx" Text="B1I2" />
        <MenuItem Text="B1I3">
          <MenuItem href="template.aspx" Text="B1I3I1" />
          <MenuItem href="template.aspx" Text="B1I3I1" />
        </MenuItem>
      </TopMenu>
      <TopMenu Text="Button2">
        <MenuItem href="template.aspx" Text="B2I1" />
        <MenuItem href="template.aspx" Text="B2I2" />
        <MenuItem href="template.aspx" Text="B2I3" />
        <MenuItem Text="B2I4">
          <MenuItem href="template.aspx" Text="B2I4I1" />
        </MenuItem>
      </TopMenu>
    </RootMenu>
    ++

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    merci beaucoup, mais cette portion de code:

    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
    WITH CTE
    AS
    (
     SELECT *
     FROM (VALUES (1, 0, 'Button1', NULL, 0),
                  (2, 1, 'B1I1', 'template.aspx', 0),
                  (3, 1, 'B1I2', 'template.aspx', 0),
                  (4, 1, 'B1I3', NULL, 0),
                  (5, 4, 'B1I3I1', 'template.aspx', 0),
    			  (6, 4, 'B1I3I1', 'template.aspx', 0),
    			  (7, 0, 'Button2', NULL, 0),
    			  (8, 7, 'B2I1', 'template.aspx', 0),
                  (9, 7, 'B2I2', 'template.aspx', 0),
    			  (10, 7, 'B2I3', 'template.aspx', 0),
    			  (11, 7, 'B2I4', NULL, 0),
    			  (12, 11, 'B2I4I1', 'template.aspx', 0),
    			  (13, 12, 'B2I4I1I1', 'template.aspx', 0)) AS T(ID, Parent, [Text], href, sort)
    )
    je veux quelle soit générique de la table MENU, non statique comme ça?

  12. #12
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Remplacez ce bout de code par votre table et le nom de la CTE dans la clause FROM par le nom de votre table.

    La CTE, ici est à titre d'exemple. Elle simule simplement votre table qui hébergera les données concernant vos menus

    ++

  13. #13
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    merci beaucoup mon ami

    ca marche

    deux dernieres questions

    1- comment mettre ce code dans une procedure stockee dans SQLSERVER

    2-
    les XMLs acceptes par le .NET commence par

    <?xml version="1.0" encoding="utf-8" ?>

    je n'ai pas encore tester est-ce que ca va marcher comme ca ou non.

    Est-ce que tu as une idee?

  14. #14
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    1- comment mettre ce code dans une procedure stockee dans SQLSERVER
    Par exemple :

    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
    CREATE PROCEDURE proc_generate_xml 
    (
     @id_first_top_menu INT
    )
    AS
     
    SELECT 
    	1 AS Tag,
    	NULL AS Parent,
    	[text] AS "TopMenu!1!Text",
    	NULL AS "MenuItem!2!href",
    	NULL AS "MenuItem!2!Text",
    	NULL AS "MenuItem!3!href",
    	NULL AS "MenuItem!3!Text",
    	NULL AS "MenuItem!4!href",
    	NULL AS "MenuItem!4!Text"
    FROM maTable
    WHERE Parent = @id_first_top_menu
    ....
    2-
    les XMLs acceptes par le .NET commence par <?xml version="1.0" encoding="utf-8" ?>
    Le XML généré par SQL Sever est en version 1.
    La clause FOR XML EXPLICIT ne permet pas l'insertion d'un header.
    Vous pouvez soit modifier la procédure pour l'ajouter à la main soit le faire depuis votre API client qui permet ce genre de choses.

    ++

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/03/2010, 16h39
  2. Import XML Data(SQl Server)
    Par Soulama dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 02/02/2007, 11h29
  3. Importation xml vers sql server
    Par nicko5959 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/01/2006, 09h06

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