Voilà le problème: mon entrée est un fichier XML qui ressemble à quelque chose comme:Comment créer un schéma XSD à partir de XML avec ce type de structure (en .net)?
<BaseEntityClassInfo>
<item>
<key>BaseEntityClassInfo.SomeField</key>
<value>valueData1</value>
</item>
<item>
<key>BaseEntityClassInfo.AdditionalDataClass.SomeOtherField</key>
<value>valueData2</value>
</item>
<item>
<key>BaseEntityClassInfo.AdditionalDataClass.AnotherClassInfo.DisplayedText</key>
<value>valueData3</value>
</item>
...
...
</BaseEntityClassInfo>
L'élément <key>
décrit en quelque sorte les classes d'entités champs et les relations (utilisé dans une autre application que je n'ai pas accès) et la <value>
stocke les données réelles dont j'ai besoin.
Mon but est de générer par programme un Dataset typé à partir de ce XML qui pourrait ensuite être utilisé pour créer des rapports. J'ai d'abord pensé à construire un schéma XSD à partir du fichier XML d'entrée, puis j'utiliserais ce schéma pour générer le jeu de données, mais je ne suis pas sûr de savoir comment le faire. Le problème est que je ne veux pas toutes les données dans une table, j'ai besoin de plusieurs tables avec des relations basées sur la valeur <key>
donc je suppose que je dois déduire la structure relationnelle à partir des données XML <key>
d'une certaine façon. Y a-t-il d'autres moyens? Dois-je utiliser XSLT, Linq2XML, autre chose?
Alors, qu'en pensez-vous? Comment cela pourrait-il être fait et quelle serait la meilleure approche?
Tous les conseils, idées, suggestions seraient vraiment apprécié!
Quelqu'un? Il y a quelques informations supplémentaires dans les commentaires ci-dessous ...
Avec quelle version de .NET travaillez-vous? – Pretzel
J'utilise .net 3.5 – Rockcoder
Ugh. Pourquoi dans le monde l'auteur de cette décision a-t-il décidé de mettre en œuvre Entity-Attribute-Value ** en XML **? XML a été largement conçu pour * éliminer * ce genre de gâchis. – Aaronaught