J'ai quelques (typées) XML étant stockées dans SQL Server 2005 que je dois transformer en une structure normalisée. La structure du document ressemble actuellement à ceci:Utiliser SQL Server 2005 API XML pour normaliser un fragment XML
<wrapper>
<parent />
<node />
<node />
<node />
<parent />
<node />
<node />
<node />
<wrapper>
Je veux la transformer pour ressembler à ceci:
<wrapper>
<parent>
<node />
<node />
<node />
</parent>
<parent>
<node />
<node />
<node />
</parent>
<wrapper>
je peux sélectionner le XML à en une structure relationnelle si j'ai besoin de, mettre le problème est qu'il n'y a pas d'attributs reliant le parent et les nœuds enfants ensemble, de sorte que l'ordre devient un problème quand usin g les opérations basées sur un ensemble. Comment puis-je utiliser le .nodes() /. Value()/autres API XML SQL Server pour transformer ces données? La transformation doit être exécutée dans le cadre d'un script SQL par lots, donc l'extraire dans un autre outil/langue n'est pas une option raisonnable pour moi.
Je doute fortement que vous puissiez faire quelque chose comme cela avec un effort raisonnable dans SQL Server. Son moteur XQuery est idéal pour interroger le XML et en extraire des données, moins pour lever plus lourdement du côté de la manipulation. Je pense que vous seriez mieux de saisir ce XML de SQL Server dans e.g. C# /. NET et faire la fixation là-bas et le stocker. –