Question

Je travaille dans une application .net dans laquelle nous devons générer des fichiers XML à la volée en fonction du jeu de données extrait de la base de données. Le schéma XML doit être basé sur un xsd fourni. J'aimerais savoir s'il existe un moyen de lier ou d'associer un ensemble de données ou chaque datarow au xsd. Je ne sais pas si cela peut être fait du tout ou si je pense peut-être utiliser les XSD sous un angle erroné. Si je me trompe, corrigez-moi et indiquez-moi le meilleur moyen d'associer une donnée extraite de la base de données à un schéma prédéfini. Merci.

Mise à jour: Si mon point de vue sur xsd est erroné, veuillez nous éclairer sur la manière dont les xsds sont utilisés (ou peut-être m'indiquer des liens utiles).

Était-ce utile?

La solution

En plus de la solution suggérée par Joel Coehoorn - générer des ensembles de données typés ou des entités commerciales à partir de XSD - permettez-moi d'ajouter quelques autres approches:

  1. Si vous utilisez une base de données prenant en charge le type XML tel qu'Oracle ou MS SQL Server, vous pouvez créer du code XML directement dans vos requêtes SQL et récupérer le code XML directement à partir de la base de données en ignorant la population de l'ensemble de données.
  2. Si votre schéma de base de données n'est pas directement mappé sur le fichier XSD donné, c'est-à-dire que vous possédez déjà un jeu de données typé ou un ensemble d'objets métier sérialisables au format XML et que ces objets sont sérialisés en XML non conforme à XSD, vous êtes fourni, vous pouvez utiliser XSLT pour transformer votre code XML en un autre document XML compatible avec le fichier XSD indiqué.

Autres conseils

Utilisez le document de schéma en tant que paramètre du programme de ligne de commande xsd.exe inclus dans visual studio pour générer des fichiers de classe ou des ensembles de données typés que vous pouvez inclure dans votre projet / solution. Ces classes ou ensembles de données peuvent être sérialisés au format XML et seront conformes au document de schéma que vous avez utilisé pour les créer.

Le seul problème avec ceci est que ce n’est pas dynamique: vous ne pouvez pas attendre jusqu’à l’exécution pour obtenir les fichiers de schéma. Mais rien d’autre ne prend en charge cette hypothèse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top