Créer les classes C# à partir d’un schéma XSD

Un collègue de boulot se retrouve avec un problème : il doit mettre en place un reporting au XML validé auprès d’un schéma XSD. Il pensait que cela lui prendrait longtemps et serait compliqué. Il fut véritablement surpris d’avoir un prototype de solution aussi facilement et rapidement.

POCO C#

Créer un POCO à partir du XSD

Dans le Developer Command Prompt for Visual Studio, taper la ligne suivante :

Cela crée un fichier myschema.cs qui contient des objets qui respectent le XSD

Pour les options : xsd /? ou XML Schema Definition Tool (Xsd.exe)

Intégrer la classe dans Visual Studio

Après avoir créer un nouveau projet dans Visual Studio et y avoir ajouter la classe générée précédemment, il faut ajouter de quoi sérialiser l’objet.
Comme il s’agit d’une classe partielle et que le XSD peut être amené à évoluer, je vous conseille de créer une autre classe partielle qui contiendra les méthodes associées à cet objet.
Voici deux méthodes utiles, l’une pour exporter au format texte pour le debug, l’autre pour exporter dans un fichier.

Connexion aux données

Je passe rapidement sur cette partie car ce n’est pas le sujet.

Ma source de données est une base Oracle. Autant dire que je m’attendais au pire. Oracle.ManagedDataAccess m’a énormémenent facilité la vie.
Ce post de stackoverflow fait gagner un temps pécieux : Connecting to Oracle using Oracle.ManagedDataAccess.

Oracle.ManagedDataAccess sur NuGet

Valider le XML généré

Il est toujours bon de vérifier un résultat et en l’ocurrence valider le XML généré en fonction du schéma XSD.

Alors facile!

Références

XML Schema Definition Tool (Xsd.exe)

Connecting to Oracle using Oracle.ManagedDataAccess.

Oracle.ManagedDataAccess sur NuGet

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *