Share via


Nouvelles fonctionnalités de la classe XmlReader

Mise à jour : November 2007

Microsoft .NET Framework version 2.0 comprend de nombreuses modifications de la conception et des fonctionnalités apportées à la classe XmlReader.

Création d'objets XmlReader

Dans cette version, la méthode Create représente le mécanisme préféré d'obtention d'instances de l'objet XmlReader. La méthode Create utilise la classe XmlReaderSettings pour spécifier les fonctions devant être prises en charge par l'instance de l'objet XmlReader.

Pour plus d'informations, voir Création de lecteurs XML.

Validation de données

Les objets XmlReader créés par la méthode Create permettent d'effectuer la validation à l'aide d'une DTD (définition de type de document) ou d'un schéma de langage XSD (XML Schema Definition). La propriété XmlReaderSettings.ValidationType détermine si l'instance de l'objet XmlReader effectue la validation. La propriété XmlReaderSettings.ValidationFlags configure des paramètres de validation facultatifs. La classe XmlSchemaSet permet de mettre en cache des schémas XML.

Remarque :

Les classes XmlValidatingReader et XmlSchemaCollection sont obsolètes dans .NET Framework 2.0.

Pour plus d'informations, voir Validation de données XML avec XmlReader.

Conformité des données

Des objets XmlReader créés par la méthode Create sont, par défaut, plus conformes que l'implémentation d'objets XmlTextReader. Des objets XmlReader créés par la méthode Create prennent en charge les fonctionnalités suivantes par défaut :

  • Normalisation des caractères de nouvelle ligne

  • Développement des entités

  • Ajout d'attributs par défaut

Les propriétés XmlReaderSettings.CheckCharacters et XmlReaderSettings.ConformanceLevel permettent de spécifier le type de vérifications de conformité à activer pour l'objet XmlReader créé. Pour plus d'informations, voir Vérification de la conformité des données avec XmlReader.

Prise en charge de type

Fournit une prise en charge pour la récupération d'informations sur les schémas de langage XSD (XML Schema Definition) et permet aux appelants d'exiger des valeurs comme des valeurs CLR (Common Language Runtime) de type simple.

Les méthodes ReadContentAs et ReadElementContentAs peuvent lire du contenu sous la forme de types de systèmes plutôt que de chaînes. Ces nouvelles méthodes permettent aux utilisateurs d'obtenir des valeurs dans la représentation la plus appropriée à la tâche de codage sans devoir effectuer manuellement des conversions de valeurs et des analyses.

Pour plus d'informations, voir Lecture de données typées.

Nouvelles méthodes d'assistance

La classe XmlReader inclut de nouvelles méthodes devant faciliter l'analyse de données XML :

  • ReadSubtree - Retourne un nouvel objet XmlReader, qui lit l'élément actuel et tous ses descendants.

  • ReadToDescendant - Avance le lecteur jusqu'à l'élément enfant suivant qui correspond au nom spécifié.

  • ReadToNextSibling - Avance le lecteur jusqu'à l'élément frère suivant qui correspond au nom spécifié.

  • ReadToFollowing - Avance le lecteur jusqu'à l'élément suivant qui correspond au nom spécifié.

  • ReadValueChunk - Lit des flux importants de texte incorporé dans un document XML de façon continue.

  • ReadContentAsBase64 et ReadElementContentAsBase64 - Lisent des flux importants de données binaires incorporées dans un document XML de façon continue et décodent le contenu en Base64.

  • ReadContentAsBinHex et ReadElementContentAsBinHex - Lisent des flux importants de données binaires incorporées dans un document XML de façon continue et décodent le contenu en BinHex.

Fonctions de sécurité

Vous pouvez créer un objet XmlReader qui interdit le traitement DTD (définition de type de document). La désactivation du traitement DTD peut s'avérer utile dans le cadre de la prévention de certaines attaques de refus de service. Lorsque le traitement DTD est désactivé, l'objet XmlReader lève un objet XmlException en présence d'un contenu DTD. Par défaut, le traitement DTD est désactivé. Pour activer le traitement DTD, définissez la propriété XmlReaderSettings.ProhibitDtd sur false avant de créer l'objet XmlReader.

Remarque :

La propriété ProhibitDtd est également disponible pour la classe XmlTextReader.

Gestion d'entités

Les objets XmlReader créés par la méthode Create développent automatiquement toutes les entités. Une exception est levée en cas d'entités ne pouvant être résolues.

Voir aussi

Concepts

Lecture de XML avec XmlReader