2010-01-05 3 views
0

Je travaille avec SQL Server 2005.Comment transformer la structure XML à des colonnes SQL

Disons que j'ai un document comme celui-ci:

<Item Type="Menu" Name="File"> 
    <Item Type="Selectable" Id="Open"/> 
    <Item Type="Selectable" Id="Close"/> 
    <Item Type="Menu" Name="Export"/> 
     <Item Type="Selectable" Id="As JPEG"/> 
     .... 
    and so on, with N-level of menus 

Comment puis-je traduire dans une table SQL avec colonnes:

sélectionnable, Level1Menu, Level2Menu, Level3Menu

où ouverture et de fermeture aurait fichier comme level1Menu et NULL pour toutes les colonnes du menu, mais en tant que JPEG aurait File and Export comme level1Menu et level2Menu et NULL sinon.

Merci.

+1

Je pense sérieusement à revoir la structure de votre table comme une définition multicolumn que vous insinuez serait un cauchemar à maintenir. Comme le souligne le lien dans la réponse de Rubens Faria, vous feriez mieux d'utiliser une table hiérarchique, c'est-à-dire une table auto-référencée, qu'une multicolonne comme celle-ci. –

+0

@Paulo - J'apprécie votre préoccupation, alors comment je traduirais le XML ci-dessus dans un tableau auto-référencé avec seulement deux colonnes? - Je pense que je dois prendre mon XML et effectuer l'opération inverse de ce que montre la réponse de Ruben. À ce stade, il devient trivial de se joindre à la table et de générer ce que je recherche à l'origine. –

Répondre

Questions connexes