utilisant MSSQL 2008 et XQueryComment convertir la hiérarchie imbriquée de xml à table SQL
Tenir compte le code XML suivant stocké dans une table:
<ROOT>
<WrapperElement>
<ParentElement ID=1>
<Title>parent1</Title>
<Description />
<ChildElement ID="6">
<Title>Child 4</Title>
<Description />
<StartDate>2010-01-25T00:00:00</StartDate>
<EndDate>2010-01-25T00:00:00</EndDate>
</ChildElement>
<ChildElement ID="0">
<Title>Child1</Title>
<Description />
<StartDate>2010-01-25T00:00:00</StartDate>
<EndDate>2010-01-25T00:00:00</EndDate>
</ChildElement>
<ChildElement ID="8">
<Title>Child6</Title>
<Description />
<StartDate>2010-01-25T00:00:00</StartDate>
<EndDate>2010-01-25T00:00:00</EndDate>
</ChildElement>
</ParentElement>
</WrapperElement>
</Root>
Je veux décomposer ce xml en quelque chose comme
PE!ID | PE!Title | PE!Description | CE!ID | CE!Title | CE!StartDate |...
1 | parent1 | | 6 | child 4 | 2010-... |
1 | parent1 | | 0 | child1 | 2010-... |
etc.
note: il peut y avoir beaucoup de ChildElements par parentElement, dans cet e xample. J'ai expérimenté avec xquery mais je n'ai pas été capable de naviguer à travers des éléments complexes en tant que tels. Fondamentalement, j'essaye de faire exactement le contraire de ce que FOR XML fait à une table, seulement avec un ensemble de données beaucoup plus simpliste pour travailler avec.
Des idées sur où aller ensuite ou comment accomplir cela?
Merci
Le code XML est-il stocké à l'aide d'un type de données text (varchar/etc) ou XML? –