Partager via


XmlReader Classe

Définition

Représente un lecteur fournissant un accès rapide, non mis en cache et en avant uniquement vers les données XML.

public ref class XmlReader abstract : IDisposable
public ref class XmlReader abstract
public abstract class XmlReader : IDisposable
public abstract class XmlReader
type XmlReader = class
    interface IDisposable
type XmlReader = class
Public MustInherit Class XmlReader
Implements IDisposable
Public MustInherit Class XmlReader
Héritage
XmlReader
Dérivé
Implémente

Exemples

L’exemple de code suivant montre comment utiliser l’API asynchrone pour analyser du code XML.

async Task TestReader(System.IO.Stream stream)
{
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.Async = true;

    using (XmlReader reader = XmlReader.Create(stream, settings))
    {
        while (await reader.ReadAsync())
        {
            switch (reader.NodeType)
            {
                case XmlNodeType.Element:
                    Console.WriteLine("Start Element {0}", reader.Name);
                    break;
                case XmlNodeType.Text:
                    Console.WriteLine("Text Node: {0}",
                             await reader.GetValueAsync());
                    break;
                case XmlNodeType.EndElement:
                    Console.WriteLine("End Element {0}", reader.Name);
                    break;
                default:
                    Console.WriteLine("Other node {0} with value {1}",
                                    reader.NodeType, reader.Value);
                    break;
            }
        }
    }
}
Public Async Function TestReader(stream As System.IO.Stream) As Task
    Dim settings As New XmlReaderSettings()
    settings.Async = True

    Using reader As XmlReader = XmlReader.Create(stream, settings)
        While (Await reader.ReadAsync())
            Select Case (reader.NodeType)
                Case XmlNodeType.Element
                    Console.WriteLine("Start Element {0}", reader.Name)
                Case XmlNodeType.Text
                    Console.WriteLine("Text Node: {0}",
                             Await reader.GetValueAsync())
                Case XmlNodeType.EndElement
                    Console.WriteLine("End Element {0}", reader.Name)
                Case Else
                    Console.WriteLine("Other node {0} with value {1}",
                                    reader.NodeType, reader.Value)
            End Select
        End While
    End Using
End Function

Remarques

Pour plus d’informations sur cette API, consultez Remarques supplémentaires sur l’API pour XmlReader.

Constructeurs

XmlReader()

Initialise une nouvelle instance de la classe XmlReader.

Propriétés

AttributeCount

En cas de substitution dans une classe dérivée, obtient le nombre d'attributs du nœud actuel.

BaseURI

En cas de substitution dans une classe dérivée, obtient l'URI de base du nœud actuel.

CanReadBinaryContent

Obtient une valeur indiquant si XmlReader implémente les méthodes de lecture de contenu binaire.

CanReadValueChunk

Obtient une valeur indiquant si XmlReader implémente la méthode ReadValueChunk(Char[], Int32, Int32).

CanResolveEntity

Obtient une valeur indiquant si ce lecteur peut analyser et résoudre les entités.

Depth

En cas de substitution dans une classe dérivée, obtient la profondeur du nœud actuel dans le document XML.

EOF

En cas de substitution dans une classe dérivée, obtient une valeur indiquant si le lecteur est placé à la fin du flux.

HasAttributes

Obtient une valeur indiquant si le nœud actuel a des attributs.

HasValue

En cas de substitution dans une classe dérivée, obtient une valeur indiquant si le nœud actuel peut posséder Value.

IsDefault

En cas de substitution dans une classe dérivée, obtient une valeur indiquant si le nœud actuel est un attribut généré à partir de la valeur par défaut définie dans le DTD ou le schéma.

IsEmptyElement

En cas de substitution dans une classe dérivée, obtient une valeur indiquant si le nœud actuel est un élément vide (par exemple, <MyElement/>).

Item[Int32]

En cas de substitution dans une classe dérivée, obtient la valeur de l'attribut avec l'index spécifié.

Item[String, String]

En cas de substitution dans une classe dérivée, obtient la valeur de l'attribut avec le LocalName et le NamespaceURI spécifiés.

Item[String]

En cas de substitution dans une classe dérivée, obtient la valeur de l'attribut avec le Name spécifié.

LocalName

En cas de substitution dans une classe dérivée, obtient le nom local du nœud actuel.

Name

En cas de substitution dans une classe dérivée, obtient le nom qualifié du nœud actuel.

NamespaceURI

En cas de substitution dans une classe dérivée, obtient l'URI de l'espace de noms (tel qu'il est défini dans la spécification relative aux espaces de noms du W3C) du nœud sur lequel le lecteur est placé.

NameTable

En cas de substitution dans une classe dérivée, obtient le XmlNameTable associé à cette implémentation.

NodeType

En cas de substitution dans une classe dérivée, obtient le type du nœud actuel.

Prefix

En cas de substitution dans une classe dérivée, obtient le préfixe de l'espace de noms associé au nœud actuel.

QuoteChar

En cas de substitution dans une classe dérivée, obtient le caractère guillemet permettant de délimiter la valeur d'un nœud d'attribut.

ReadState

En cas de substitution dans une classe dérivée, obtient l'état du lecteur.

SchemaInfo

Obtient les informations de schéma qui ont été assignées au nœud actuel à la suite de la validation du schéma.

Settings

Obtient l'objet XmlReaderSettings permettant de créer cette instance de XmlReader.

Value

En cas de substitution dans une classe dérivée, obtient la valeur texte du nœud actuel.

ValueType

Obtient le type de CLR du nœud actuel.

XmlLang

En cas de substitution dans une classe dérivée, obtient la portée xml:lang en cours.

XmlSpace

En cas de substitution dans une classe dérivée, obtient la portée xml:space en cours.

Méthodes

Close()

En cas de substitution dans une classe dérivée, modifie ReadState en Closed.

Create(Stream)

Crée une instance de XmlReader à l’aide du flux spécifié avec les paramètres par défaut.

Create(Stream, XmlReaderSettings)

Crée une instance de XmlReader avec le flux et les paramètres spécifiés.

Create(Stream, XmlReaderSettings, String)

Crée une instance de XmlReader en utilisant le flux, l’URI de base et les paramètres spécifiés.

Create(Stream, XmlReaderSettings, XmlParserContext)

Crée une instance de XmlReader à l’aide du flux, des paramètres et des informations de contexte d’analyse spécifiés.

Create(String)

Crée une instance de XmlReader avec l’URI spécifié.

Create(String, XmlReaderSettings)

Crée une instance de XmlReader en utilisant l’URI et les paramètres spécifiés.

Create(String, XmlReaderSettings, XmlParserContext)

Crée une instance de XmlReader en utilisant l’URI, les paramètres et les informations de contexte spécifiés pour l’analyse.

Create(TextReader)

Crée une instance de XmlReader à l’aide du lecteur de texte spécifié.

Create(TextReader, XmlReaderSettings)

Crée une instance de XmlReader à l’aide du lecteur de texte et des paramètres spécifiés.

Create(TextReader, XmlReaderSettings, String)

Crée une instance de XmlReader à l’aide du lecteur de texte, des paramètres et de l’URI de base spécifiés.

Create(TextReader, XmlReaderSettings, XmlParserContext)

Crée une instance de XmlReader à l’aide du lecteur de texte, des paramètres et des informations de contexte d’analyse spécifiés.

Create(XmlReader, XmlReaderSettings)

Crée une instance de XmlReader à l’aide des paramètres et du lecteur XML spécifiés.

Dispose()

Libère toutes les ressources utilisées par l'instance actuelle de la classe XmlReader.

Dispose(Boolean)

Libère les ressources non managées utilisées par XmlReader et libère éventuellement les ressources managées.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetAttribute(Int32)

En cas de substitution dans une classe dérivée, obtient la valeur de l'attribut avec l'index spécifié.

GetAttribute(String)

En cas de substitution dans une classe dérivée, obtient la valeur de l'attribut avec le Name spécifié.

GetAttribute(String, String)

En cas de substitution dans une classe dérivée, obtient la valeur de l'attribut avec le LocalName et le NamespaceURI spécifiés.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
GetValueAsync()

Obtient de façon asynchrone la valeur du nœud actuel.

IsName(String)

Retourne une valeur indiquant si l’argument de chaîne est un nom XML valide.

IsNameToken(String)

Retourne une valeur indiquant si l’argument de chaîne est un jeton de nom XML valide.

IsStartElement()

Appelle MoveToContent() et vérifie si le nœud de contenu actuel est une balise de début ou une balise d'élément vide.

IsStartElement(String)

Appelle MoveToContent(), vérifie si le nœud de contenu actuel est une balise de début ou une balise d'élément vide, puis vérifie également si la propriété Name de l'élément trouvé correspond à l'argument spécifié.

IsStartElement(String, String)

Appelle MoveToContent(), vérifie si le nœud de contenu actuel est une balise de début ou une balise d'élément vide, puis vérifie également si les propriétés LocalName et NamespaceURI de l'élément trouvé correspondent aux chaînes spécifiées.

LookupNamespace(String)

En cas de substitution dans une classe dérivée, résout un préfixe de l'espace de noms dans la portée de l'élément en cours.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MoveToAttribute(Int32)

En cas de substitution dans une classe dérivée, se déplace vers l'attribut avec l'index spécifié.

MoveToAttribute(String)

En cas de substitution dans une classe dérivée, se déplace vers l'attribut avec le Name spécifié.

MoveToAttribute(String, String)

En cas de substitution dans une classe dérivée, se déplace vers l'attribut avec le LocalName et le NamespaceURI spécifiés.

MoveToContent()

Vérifie si le nœud actuel est un nœud de contenu (texte non constitué d'espaces blancs, CDATA, Element, EndElement, EntityReference ou EndEntity). Si le nœud n'est pas un nœud de contenu, le lecteur avance jusqu'au nœud de contenu suivant ou jusqu'à la fin du fichier. Il ignore les nœuds possédant les types suivants : ProcessingInstruction, DocumentType, Comment, Whitespace ou SignificantWhitespace.

MoveToContentAsync()

Vérifie de façon asynchrone si le nœud actuel est un nœud de contenu. Si le nœud n'est pas un nœud de contenu, le lecteur avance jusqu'au nœud de contenu suivant ou jusqu'à la fin du fichier.

MoveToElement()

En cas de substitution dans une classe dérivée, se déplace vers l'élément contenant le nœud d'attribut actuel.

MoveToFirstAttribute()

En cas de substitution dans une classe dérivée, se déplace vers le premier attribut.

MoveToNextAttribute()

En cas de substitution dans une classe dérivée, se déplace vers l'attribut suivant.

Read()

En cas de substitution dans une classe dérivée, lit le nœud suivant à partir du flux.

ReadAsync()

Lit de façon asynchrone le nœud suivant à partir du flux de données.

ReadAttributeValue()

En cas de substitution dans une classe dérivée, analyse la valeur d'attribut dans un ou plusieurs nœuds Text, EntityReference ou EndEntity.

ReadContentAs(Type, IXmlNamespaceResolver)

Lit le contenu en tant qu'objet du type spécifié.

ReadContentAsAsync(Type, IXmlNamespaceResolver)

Lit de façon asynchrone le contenu en tant qu'objet du type spécifié.

ReadContentAsBase64(Byte[], Int32, Int32)

Lit le contenu et retourne les octets binaires décodés au format Base64.

ReadContentAsBase64Async(Byte[], Int32, Int32)

Lit de façon asynchrone le contenu et retourne les octets binaires décodés au format Base64.

ReadContentAsBinHex(Byte[], Int32, Int32)

Lit le contenu et retourne les octets binaires décodés au format BinHex.

ReadContentAsBinHexAsync(Byte[], Int32, Int32)

Lit de façon asynchrone le contenu et retourne les octets binaires décodés au format BinHex.

ReadContentAsBoolean()

Lit le contenu de texte à la position actuelle comme un Boolean.

ReadContentAsDateTime()

Lit le contenu de texte à la position actuelle comme un objet DateTime.

ReadContentAsDateTimeOffset()

Lit le contenu de texte à la position actuelle comme un objet DateTimeOffset.

ReadContentAsDecimal()

Lit le contenu de texte à la position actuelle comme un objet Decimal.

ReadContentAsDouble()

Lit le contenu de texte à la position actuelle en tant que nombre à virgule flottante double précision.

ReadContentAsFloat()

Lit le contenu de texte à la position actuelle en tant que nombre à virgule flottante simple précision.

ReadContentAsInt()

Lit le contenu de texte à la position actuelle comme un entier signé de 32 bits.

ReadContentAsLong()

Lit le contenu de texte à la position actuelle comme un entier signé de 64 bits.

ReadContentAsObject()

Lit le contenu de texte à la position actuelle comme un Object.

ReadContentAsObjectAsync()

Lit de façon asynchrone le contenu de texte à la position actuelle comme un objet Object.

ReadContentAsString()

Lit le contenu de texte à la position actuelle comme un objet String.

ReadContentAsStringAsync()

Lit de façon asynchrone le contenu de texte à la position actuelle comme un objet String.

ReadElementContentAs(Type, IXmlNamespaceResolver)

Lit le contenu de l'élément en tant que type demandé.

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

Vérifie que le nom local spécifié et l'URI de l'espace de noms correspondent à ceux de l'élément actuel, puis lit le contenu d'élément en tant que type demandé.

ReadElementContentAsAsync(Type, IXmlNamespaceResolver)

Lit de façon asynchrone le contenu de l'élément en tant que type demandé.

ReadElementContentAsBase64(Byte[], Int32, Int32)

Lit l'élément et décode le contenu au format Base64.

ReadElementContentAsBase64Async(Byte[], Int32, Int32)

Lit de façon asynchrone l'élément et décode le contenu au format Base64.

ReadElementContentAsBinHex(Byte[], Int32, Int32)

Lit l'élément et décode le contenu au format BinHex.

ReadElementContentAsBinHexAsync(Byte[], Int32, Int32)

Lit de façon asynchrone l'élément et décode le contenu au format BinHex.

ReadElementContentAsBoolean()

Lit l'élément actuel et retourne le contenu en tant qu'objet Boolean.

ReadElementContentAsBoolean(String, String)

Vérifie que le nom local spécifié et l'URI de l'espace de noms correspondent à ceux de l'élément actuel, puis lit l'élément actuel et retourne le contenu en tant qu'objet Boolean.

ReadElementContentAsDateTime()

Lit l'élément actuel et retourne le contenu en tant qu'objet DateTime.

ReadElementContentAsDateTime(String, String)

Vérifie que le nom local spécifié et l'URI de l'espace de noms correspondent à ceux de l'élément actuel, puis lit l'élément actuel et retourne le contenu en tant qu'objet DateTime.

ReadElementContentAsDecimal()

Lit l'élément actuel et retourne le contenu en tant qu'objet Decimal.

ReadElementContentAsDecimal(String, String)

Vérifie que le nom local spécifié et l'URI de l'espace de noms correspondent à ceux de l'élément actuel, puis lit l'élément actuel et retourne le contenu en tant qu'objet Decimal.

ReadElementContentAsDouble()

Lit l'élément actuel et retourne le contenu en tant que nombre à virgule flottante double précision.

ReadElementContentAsDouble(String, String)

Vérifie que le nom local et l'URI de l'espace de noms spécifiés correspondent à ceux de l'élément actuel, puis lit l'élément actuel et retourne le contenu sous la forme d'un nombre à virgule flottante double précision.

ReadElementContentAsFloat()

Lit l'élément actuel et retourne le contenu en tant que nombre à virgule flottante simple précision.

ReadElementContentAsFloat(String, String)

Vérifie que le nom local et l'URI de l'espace de noms spécifiés correspondent à ceux de l'élément actuel, puis lit l'élément actuel et retourne le contenu sous la forme d'un nombre à virgule flottante simple précision.

ReadElementContentAsInt()

Lit l'élément actuel et retourne le contenu comme un entier signé de 32 bits.

ReadElementContentAsInt(String, String)

Vérifie que le nom local spécifié et l'URI de l'espace de noms correspondent à ceux de l'élément actuel, puis lit l'élément actuel et retourne le contenu en tant qu'entier signé de 32 bits.

ReadElementContentAsLong()

Lit l’élément actuel et retourne le contenu comme un entier signé de 64 bits.

ReadElementContentAsLong(String, String)

Vérifie que le nom local spécifié et l’URI de l’espace de noms correspondent à ceux de l’élément actuel, puis lit l’élément actuel et retourne le contenu en tant qu’entier signé de 64 bits.

ReadElementContentAsObject()

Lit l'élément actuel et retourne le contenu en tant que Object.

ReadElementContentAsObject(String, String)

Vérifie que le nom local et l'URI de l'espace de noms spécifiés correspondent à ceux de l'élément actuel, puis lit l'élément actuel et retourne le contenu en tant qu'objet Object.

ReadElementContentAsObjectAsync()

Lit de façon asynchrone l'élément actuel et retourne le contenu en tant que Object.

ReadElementContentAsString()

Lit l'élément actuel et retourne le contenu en tant qu'objet String.

ReadElementContentAsString(String, String)

Vérifie que le nom local spécifié et l'URI de l'espace de noms correspondent à ceux de l'élément actuel, puis lit l'élément actuel et retourne le contenu en tant qu'objet String.

ReadElementContentAsStringAsync()

Lit de façon asynchrone l'élément actuel et retourne le contenu en tant qu'objet String.

ReadElementString()

Lit un élément texte uniquement. Toutefois, nous vous recommandons d’utiliser plutôt la méthode ReadElementContentAsString(), car elle permet de gérer cette opération de façon plus directe.

ReadElementString(String)

Vérifie que la propriété Name de l'élément trouvé correspond à la chaîne spécifiée avant de lire un élément de texte brut. Toutefois, nous vous recommandons d’utiliser plutôt la méthode ReadElementContentAsString(), car elle permet de gérer cette opération de façon plus directe.

ReadElementString(String, String)

Vérifie que les propriétés LocalName et NamespaceURI de l'élément trouvé correspondent aux chaînes spécifiées avant de lire un élément de texte brut. Toutefois, nous vous recommandons d’utiliser plutôt la méthode ReadElementContentAsString(String, String), car elle permet de gérer cette opération de façon plus directe.

ReadEndElement()

Vérifie que le nœud de contenu actuel est une étiquette de fin et avance le lecteur jusqu’au nœud suivant.

ReadInnerXml()

En cas de substitution dans une classe dérivée, lit tout le contenu, y compris le balisage, sous forme de chaîne.

ReadInnerXmlAsync()

Lit de façon asynchrone tout le contenu, notamment le balisage, en tant que chaîne.

ReadOuterXml()

En cas de substitution dans une classe dérivée, lit le contenu, y compris le balisage, représentant ce nœud et tous ses enfants.

ReadOuterXmlAsync()

Lit de façon asynchrone le contenu, notamment le balisage, qui représente ce nœud et tous ses enfants.

ReadStartElement()

Vérifie que le nœud actuel est un élément et avance le lecteur jusqu'au nœud suivant.

ReadStartElement(String)

Vérifie que le nœud de contenu actuel est un élément avec le Name spécifié, puis avance le lecteur jusqu'au nœud suivant.

ReadStartElement(String, String)

Vérifie que le nœud de contenu actuel est un élément avec le LocalName et le NamespaceURI spécifiés, puis avance le lecteur jusqu'au nœud suivant.

ReadString()

En cas de substitution dans une classe dérivée, lit le contenu d'un nœud d'élément ou de texte sous forme de chaîne. Toutefois, nous vous recommandons d’utiliser plutôt la méthode ReadElementContentAsString, car elle permet de gérer cette opération de façon plus directe.

ReadSubtree()

Retourne une nouvelle instance de XmlReader qui permet de lire le nœud actuel, ainsi que tous ses descendants.

ReadToDescendant(String)

Avance le XmlReader vers l'élément descendant suivant portant le nom qualifié spécifié.

ReadToDescendant(String, String)

Avance XmlReader vers le nœud descendant suivant doté du nom local et de l'URI de l'espace de noms spécifiés.

ReadToFollowing(String)

Lit jusqu'à trouver un élément avec le nom qualifié spécifié.

ReadToFollowing(String, String)

Lit jusqu'à trouver un élément avec le nom local et l'URI de l'espace de noms spécifiés.

ReadToNextSibling(String)

Avance le XmlReader vers l'élément frère suivant portant le nom qualifié spécifié.

ReadToNextSibling(String, String)

Avance XmlReader vers l’élément frère suivant doté du nom local et de l’URI de l’espace de noms spécifiés.

ReadValueChunk(Char[], Int32, Int32)

Lit des flux de texte volumineux incorporés dans un document XML.

ReadValueChunkAsync(Char[], Int32, Int32)

Lit de façon asynchrone des flux de texte volumineux incorporés dans un document XML.

ResolveEntity()

En cas de substitution dans une classe dérivée, résout la référence d'entité des nœuds EntityReference.

Skip()

Ignore les enfants du nœud actuel.

SkipAsync()

Ignore de façon asynchrone les enfants du nœud actuel.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

IDisposable.Dispose()

Pour obtenir une description de ce membre, consultez Dispose().

S’applique à

Voir aussi