XmlReaderSettings Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
public ref class XmlReaderSettings sealed
public sealed class XmlReaderSettings
type XmlReaderSettings = class
Public NotInheritable Class XmlReaderSettings
- Héritage
-
XmlReaderSettings
Exemples
L’exemple suivant crée un XmlReader qui utilise une XmlUrlResolver avec les informations d’identification nécessaires.
// Create an XmlUrlResolver with the credentials necessary to access the Web server.
var resolver = new XmlUrlResolver();
var myCred = new NetworkCredential(UserName, SecurelyStoredPassword, Domain);
resolver.Credentials = myCred;
var settings = new XmlReaderSettings();
settings.XmlResolver = resolver;
// Create the reader.
XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);
' Create an XmlUrlResolver with the credentials necessary to access the Web server.
Dim resolver As New XmlUrlResolver()
Dim myCred As System.Net.NetworkCredential
myCred = New System.Net.NetworkCredential(UserName, SecurelyStoredPassword, Domain)
resolver.Credentials = myCred
Dim settings As New XmlReaderSettings()
settings.XmlResolver = resolver
' Create the reader.
Dim reader As XmlReader = XmlReader.Create("http://serverName/data/books.xml", settings)
Remarques
Vous utilisez la Create méthode pour obtenir des XmlReader instances. Cette méthode utilise la XmlReaderSettings classe pour spécifier les fonctionnalités à implémenter dans l’objet XmlReader qu’elle crée.
Pour plus d’informations sur les paramètres à utiliser pour les vérifications de conformité, la validation et d’autres scénarios courants, consultez les sections Remarques des pages de référence XmlReader et Create. Consultez le XmlReaderSettings() constructeur pour obtenir la liste des paramètres par défaut.
Considérations relatives à la sécurité
Tenez compte des éléments suivants lors de l’utilisation de la XmlReaderSettings classe.
Les ProcessInlineSchema et ProcessSchemaLocation indicateurs de validation d’un objet XmlReaderSettings ne sont pas définis par défaut. Lorsque ces indicateurs sont activés, la propriété XmlResolver de l'objet XmlReaderSettings est utilisée pour résoudre les emplacements de schéma rencontrés dans le document d'instance dans l'objet XmlReader. Si l’objet XmlResolver est
null, les emplacements de schéma ne sont pas résolus même si les indicateurs de validation ProcessInlineSchema et ProcessSchemaLocation sont définis.Les schémas ajoutés lors de la validation ajoutent de nouveaux types et peuvent modifier le résultat de validation du document en cours de validation. Par conséquent, les schémas externes ne doivent être résolus qu’à partir de sources approuvées.
Les messages d’erreur de validation peuvent exposer des informations sensibles sur le modèle de contenu. Les messages d’erreur et d’avertissement de validation sont gérés à l’aide du délégué ValidationEventHandler ou exposés sous forme de XmlSchemaValidationException si aucun gestionnaire d’événements n’est fourni à l’objet XmlReaderSettings (les avertissements de validation n’entraînent pas la levée d’un XmlSchemaValidationException). Ces informations de modèle de contenu ne doivent pas être exposées dans des scénarios non approuvés. Les messages d’avertissement de validation sont supprimés par défaut et peuvent être signalés en définissant l’indicateur ReportValidationWarnings .
La SourceUri propriété d’un XmlSchemaValidationException retourne le chemin d’URI du fichier de schéma qui a provoqué l’exception. La propriété SourceUri ne doit pas être exposée dans des scénarios non fiables.
La désactivation de l’indicateur ProcessIdentityConstraints (activé par défaut) est recommandée lors de la validation de grands documents XML non approuvés dans des scénarios de haute disponibilité, par rapport à un schéma avec des contraintes d’identité s’étendant sur une grande partie du document.
XmlReaderSettings les objets peuvent contenir des informations sensibles telles que des informations d’identification utilisateur. Vous devez être prudent lors de la mise en cache d’objets XmlReaderSettings ou lors du passage de l’objet XmlReaderSettings d’un composant à un autre.
Le traitement DTD est désactivé par défaut. Si vous activez le traitement DTD, vous devez être conscient de l'inclusion de DTD à partir de sources non approuvées et des attaques par déni de service possibles. Permet ThrowingResolver de restreindre les ressources auxquelles l’accès XmlReader est possible.
N’acceptez pas les composants de prise en charge, tels que les objets NameTable, XmlNamespaceManager et XmlResolver, à partir d’une source non approuvée.
L’utilisation de la mémoire d’une application qui utilise XmlReader peut avoir une corrélation avec la taille du document XML analysé. Une forme d’attaque par déni de service consiste à envoyer des documents XML excessivement volumineux à analyser. Vous pouvez limiter la taille du document qui peut être analysée en définissant la MaxCharactersInDocument propriété, puis limiter le nombre de caractères résultant du développement d’entités en définissant la MaxCharactersFromEntities propriété.
Constructeurs
| Nom | Description |
|---|---|
| XmlReaderSettings() |
Initialise une nouvelle instance de la classe XmlReaderSettings. |
| XmlReaderSettings(XmlResolver) |
Obsolète.
Initialise une nouvelle instance de la classe XmlReaderSettings. |
Propriétés
| Nom | Description |
|---|---|
| Async |
Obtient ou définit si des méthodes asynchrones XmlReader peuvent être utilisées sur une instance particulière XmlReader . |
| CheckCharacters |
Obtient ou définit une valeur indiquant s’il faut effectuer la vérification des caractères. |
| CloseInput |
Obtient ou définit une valeur indiquant si le flux sous-jacent ou TextReader doit être fermé lorsque le lecteur est fermé. |
| ConformanceLevel |
Obtient ou définit le niveau de conformité avec lequel la XmlReader conformité est conforme. |
| DtdProcessing |
Obtient ou définit une valeur qui détermine le traitement des DTD. |
| IgnoreComments |
Obtient ou définit une valeur indiquant s’il faut ignorer les commentaires. |
| IgnoreProcessingInstructions |
Obtient ou définit une valeur indiquant s’il faut ignorer les instructions de traitement. |
| IgnoreWhitespace |
Obtient ou définit une valeur indiquant s’il faut ignorer les espaces blancs non significatifs. |
| LineNumberOffset |
Obtient ou définit le décalage de numéro de ligne de l’objet XmlReader . |
| LinePositionOffset |
Obtient ou définit le décalage de position de ligne de l’objet XmlReader . |
| MaxCharactersFromEntities |
Obtient ou définit une valeur indiquant le nombre maximal autorisé de caractères dans un document résultant du développement d’entités. |
| MaxCharactersInDocument |
Obtient ou définit une valeur indiquant le nombre maximal autorisé de caractères dans un document XML. Une valeur zéro (0) signifie qu’aucune limite n’est limitée à la taille du document XML. Une valeur différente de zéro spécifie la taille maximale, en caractères. |
| NameTable |
Obtient ou définit l’élément XmlNameTable utilisé pour les comparaisons de chaînes atomisées. |
| ProhibitDtd |
Obsolète.
Obsolète.
Obtient ou définit une valeur indiquant s’il faut interdire le traitement de définition de type de document (DTD). Cette propriété est obsolète. Utilisez DtdProcessing à la place. |
| Schemas |
Obtient ou définit la valeur à utiliser lors de l’exécution XmlSchemaSet de la validation du schéma. |
| ValidationFlags |
Obtient ou définit une valeur indiquant les paramètres de validation de schéma. Ce paramètre s’applique aux XmlReader objets qui valident les schémas (ValidationType propriété définie sur |
| ValidationType |
Obtient ou définit une valeur indiquant si l’affectation de validation ou de type est effectuée lors de la XmlReader lecture. |
| XmlResolver |
Définit l’élément XmlResolver utilisé pour accéder aux documents externes. |
Méthodes
| Nom | Description |
|---|---|
| Clone() |
Crée une copie de l’instance XmlReaderSettings . |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| Reset() |
Réinitialise les membres de la classe de paramètres à leurs valeurs par défaut. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
Événements
| Nom | Description |
|---|---|
| ValidationEventHandler |
Se produit lorsque le lecteur rencontre des erreurs de validation. |