Documents et données XML

Le .NET Framework fournit un jeu de classes complet et intégré qui vous permet de créer facilement des applications capables de traiter du code XML. Les classes dans les espaces de noms suivants prennent en charge l’analyse et l’écriture de code XML, l’édition de donnés XML en mémoire, la validation de données et la transformation XSLT.

Pour obtenir la liste complète, recherchez « System.Xml » sur le navigateur de l’API .NET.

Les classes dans ces espaces de noms prennent en charge les recommandations World Wide Web Consortium (W3C). Par exemple :

Les classes XML du .NET Framework offrent les avantages suivants :

  • Améliorer. LINQ to XML (C#) et LINQ to XML (Visual Basic) facilitent la programmation avec XML et offrent une expérience de requête similaire à SQL.

  • Amélioré. Les classes XML du .NET Framework sont extensibles grâce à l'utilisation de classes de base abstraites et de méthodes virtuelles. Par exemple, vous pouvez créer une classe dérivée de la classe XmlUrlResolver qui stocke le flux mis en cache sur le disque local.

  • Architecture enfichable. Le .NET Framework propose une architecture dans laquelle les composants peuvent s'utiliser réciproquement et où les données peuvent être transmises en continu entre les composants. Par exemple, un magasin de données, tel qu'un objet XPathDocument ou XmlDocument, peut être transformé à l'aide de la classe XslCompiledTransform, et la sortie peut ensuite être soit transmise sous la forme de flux à un autre magasin, soit retournée sous la forme d'un flux à partir d'un service web.

  • Niveau de performance. Pour améliorer les performances des applications, certaines des classes XML du .NET Framework prennent en charge un modèle basé sur les flux de données ayant les caractéristiques suivantes :

    • Mise en cache minimale pour une analyse avant uniquement et de tirage (XmlReader).

    • Validation avant uniquement (XmlReader).

    • Navigation par curseur qui minimise la création de nœuds à un seul nœud virtuel, tout en permettant l'accès aléatoire au document (XPathNavigator).

    Pour de meilleures performances chaque fois que le traitement XSLT est nécessaire, vous pouvez utiliser la classe XPathDocument qui est un magasin optimisé en lecture seule pour les requêtes XPath, conçu pour fonctionner de manière efficace avec la classe XslCompiledTransform.

  • Intégration à ADO.NET. les classes XML et ADO.NET sont étroitement intégrés afin de rassembler les données relationnelles et XML. La classe DataSet est un cache en mémoire de données extraites d'une base de données. La classe DataSet a la capacité de lire et d'écrire du XML à l'aide des classes XmlReader et XmlWriter, de rendre persistante sa structure de schéma relationnel interne sous la forme de schémas XML (XSD) et de déduire la structure de schéma d'un document XML.

Dans cette section

Options de traitement XML Présente les options de traitement des données XML.

Traitement des données XML en mémoire Présente les trois modèles pour le traitement des données XML en mémoire : LINQ to XML (C#) et LINQ to XML (Visual Basic), la XmlDocument classe (basée sur le document Object Model W3C) et la XPathDocument classe (basée sur le modèle de données XPath).

Transformations XSLT
Décrit comment utiliser le processeur XSLT.

Modèle d’objet de schéma XML (SOM)
Décrit les classes utilisées pour créer et manipuler des schémas XML (XSD) en fournissant une classe XmlSchema pour le chargement et la modification d'un schéma.

Intégration de XML aux données relationnelles et ADO.NET
Décrit comment le .NET Framework permet un accès synchrone en temps réel aux représentations relationnelles et hiérarchiques des données via l’objet DataSet et l’objet XmlDataDocument.

Gestion des espaces de noms dans un document XML
Décrit comment la classe XmlNamespaceManager est utilisée pour stocker et gérer des informations d'espace de noms.

Prise en charge des types dans les classes System.Xml
Décrit comment les types de données XML sont mappés aux types CLR, comment convertir des types de données XML, ainsi que d’autres fonctionnalités de prise en charge des types dans les classes System.Xml.

ADO.NET
Présente des informations sur la manière d'accéder à des données à l'aide d'ADO.NET.

Caution
Offre une vue d'ensemble du système de sécurité .NET Framework.