Ce n'est pas le première fois que je vous parle du DOM XML; Récemment, je vous initiais à ses possibilités dans
Initiation à XML - Part. 7 et au début 2003, je vous proposais un petit system de messagerie basé sur DOM XML et ASP.NET :
ASP.Net : Messagerie XML.
Dans cette nouvelle série, je vous propose d'aller un peu plus loin avec XML en l'abordant coté .NET.
Les sujets que je pense aborder à travers cette série sont, en vrac, la lecture, l'écriture, le stockage, la transformation, la validation, les requêtes, la sérialisation et la gestion des documents XML en vous présentant quelques une des classes que .NET met à notre disposition à travers les espaces de noms
System.Xml, System.Xml.Schema, System.Xml.Serialization, System.Xml.XPath et System.Xml.Xsl.
L'ensemble des exemples de codes seront proposés en C#.
Avant de commencer, je vous propose un rapide tour d'horizon des classes que l'espace de nom System.Xml met à notre disposition pour manipuler des documents XML.
- Tableau 1 -
Liste des classes de l'espace de nom System.Xml
Liste non exhaustive
|
| Classe |
Dérivée de |
Description |
| XmlNodeList |
System.Object |
Représente une collection de noeuds dans un document XML.
|
| XmlNamedNodeMap |
System.Object |
Représente une collection de noeuds accessibles par nom ou index dans un document XML.
|
| XmlAttributeCollection |
XmlNamedNodeMap |
Représente une collection d'attributs accessibles par nom ou index dans un document XML.
|
| XmlNode |
System.Object |
Représente un noeud dans un document XML.
|
| XmlAttribute |
XmlNode |
Représente un attribut dans un document XML.
|
| XmlDocumentFragment |
XmlNode |
Représente un fragment de document XML.
|
| XmlDocument |
XmlNode
|
Représente un document XML.
|
| XmlDataDocument |
XmlDocument |
Permet la manipulation des données XML d'un DataSet.
|
| XmlLinkedNode |
XmlNode |
Représente le noeud précédent ou le noeud suivant du noeud courant.
|
| XmlDeclaration |
XmlLinkedNode |
Représente le nœud de déclaration dans un document XML (le prologue).
|
| XmlDocumentType |
XmlLinkedNode |
Représente la déclaration du type de document.
|
| XmlElement |
XmlLinkedNode |
Représente un noeud élément dans un document XML.
|
| XmlProcessingInstruction |
XmlLinkedNode |
Représente une instruction de traitement, définie par le code XML.
|
| XmlCharacterData |
XmlLinkedNode |
Fournit des méthodes de manipulation de texte utilisées par plusieurs classes.
|
| XmlComment |
XmlCharacterData |
Représente le contenu d'un commentaire XML.
|
| XmlText |
XmlCharacterData |
Représente le contenu texte d'un noeud élément ou attribut.
|
| XmlWhitespace |
XmlCharacterData |
Représente un espace blanc dans un contenu d'élément.
|
| XmlReader |
System.Object |
Représente un lecteur fournissant un accès rapide, non mis en cache et en avant uniquement vers les données XML.
|
| XmlTextReader |
XmlReader |
Représente un lecteur fournissant un accès rapide, non mis en cache et en avant uniquement vers les données XML.
|
| XmlValidatingReader |
XmlReader |
Représente un lecteur fournissant une validation DTD et schéma.
|
| XmlWriter |
System.Object |
Représente un writer qui fournit un procédé rapide, sans mise en cache et en avant uniquement de génération de flux de fichiers contenant des données XML.
|
| XmlTextWriter |
XmlWriter |
Représente un writer qui fournit un procédé rapide, sans mise en cache et en avant uniquement de génération de flux de fichiers contenant des données XML.
|
Arfff, ça en fait des classes !!!
Et encore, cette liste ne représente même pas la moitié des classes de l'espace
System.Xml !
Mais n'ayez crainte, je ne vais pas vous ennuyer avec l'étude des toutes ces classes; Pour tout savoir sur ces classes, vous avez la documentation du kit .NET Framework SDK et le site
MSDN.
Ce tableau est uniquement là pour vous donner une idée de l'arborescence des classes de l'espace de nom System.Xml.
En fait, c'est essentiellement la classe
XmlDocument qui va nous intéresser dans ce premier Part. Et comme vous pouvez le voir dans le tableau, cette classe hérite de la classe
XmlNode; Ce sera bien suffisant pour combler la plupart de nos besoins.