CodeS-SourceS
Rechercher un code, un tuto, une réponse

Parser XML pour C#

Août 2017


Introduction


Comment récupérer des infos sous XML et mettre à jour une base de donnée automatiquement?
En utilisant un DataSet typé récupérant automatiquement le schéma XML et mettant à jour la base par le biais du CommandBuilder.

Mode opératoire


À partir d'un schéma XML conforme à la norme XSD (XML Schema Definition language), vous pouvez générer un DataSet fortement typé à l'aide de l'outil XSD.exe fourni avec le Kit de développement .NET Framework SDK.

A l'aide de cet outil XSD.exe il faut générer :
  • D'abord, le schéma XSD (XML Schema Definition) du fichier XML
  • Ensuite, le DataSet fortement typé.

Voici les étapes pour le faire:

Passer la commande suivante dans le répertoire de votre projet,
>xsd.exe Monfichier.xml
Ce qui produira votre fichier xsd.
Remarque: le fichier XSD ainsi généré est totalement modifiable avec le composeur de Visual Studio, ce qui vous permettra d'ajouter facilement du type et des contraintes au schéma.

Puis, afin de générer votre DataSet:
xsd.exe nomduschema.xsd /dataset /namespace:espacedenomduprojet
Exemple : xsd.exe data.xsd /d /n:projetXML
Le paramètre /d (DataSet) donne l'ordre de générer le DataSet.
Le paramètre /n (namespace) vous permet de générer la classe de DataSet dans l'espace de nom de votre projet.

Le langage de génération par défaut est le CSharp (voir le détail de la commande pour générer cette classe dans un autre langage (VB, C++, J#)
Exemple: xsd.exe ... /l:VB

La commande abouti si le message suivant est affiché dans l'invite:
« writing file?X:/../Monfichier.CS»?

Ainsi, on a obtenu la classe Monfichier.cs qui étend System.Data.DataSet.

Quel est l'intérêt de faire cela ?


Le fichier XSD (XML Schema Definition) définit les types des attributs, les relations et les contraintes du contenu du fichier XML.

Un DataSet typé est une classe dérivée d'un DataSet. En tant que tel, elle hérite de l'ensemble des méthodes, événements et propriétés de DataSet.

Créer ainsi, un DataSet typé à partir du schéma du document XML, c'est-à-dire du XSD, permet d'avoir :
  • un cache mémoire formaté, le DataSet, selon le schéma du document xml .
  • de faire une analyse des fichier XML facile,et de récupérer les données dans le DataSet à l'aide de la méthode ReadXML.



VOS AVIS SONT LE BIEN BIENVENU!

A voir également

Publié par cs_DIDI75.
Ce document intitulé «  Parser XML pour C#  » issu de CodeS-SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Encodage français
Module C# COM+ pour IIS