Lecture du contenu
La classe XmlReader comporte des membres qui permettent de lire du contenu.
Remarque |
---|
Les membres décrits dans cette rubrique retournent du contenu sous la forme de chaînes.Si vous voulez lire un contenu typé, voir Lecture de données typées. |
Propriété Value
La propriété Value peut être utilisée pour obtenir le contenu textuel du nœud actuel. La valeur retournée dépend du type de nœud du nœud actuel. Le tableau suivant décrit le contenu retourné pour chaque type de nœud possible.
Type de nœud |
Valeur |
---|---|
Attribute |
Valeur de l'attribut. |
CDATA |
Contenu de la section CDATA. |
Comment |
Contenu du commentaire. |
DocumentType |
Sous-ensemble interne. |
ProcessingInstruction |
Contenu entier, à l'exclusion de la cible. |
SignificantWhitespace |
Espace blanc entre tout balisage dans un modèle de contenu mixte. |
Text |
Contenu du nœud de texte. |
Whitespace |
Espace blanc entre les balisages. |
XmlDeclaration |
Contenu de la déclaration. |
Tous les autres types de nœuds |
Chaîne vide (""). |
Méthode ReadString
La méthode ReadString retourne le contenu d'un nœud d'élément ou de texte sous la forme d'une chaîne.
Si l'objet XmlReader est positionné sur un élément, la méthode ReadString concatène tous les nœuds de texte, d'espace blanc significatif, d'espace blanc et de section CDATA et retourne les données concaténées comme contenu de l'élément. Le lecteur s'arrête dès qu'une balise est rencontrée. Cela peut se produire dans un modèle de contenu mixte ou lorsqu'une balise de fin d'élément est lue.
Si l'objet XmlReader est positionné sur un nœud de texte, la méthode ReadString effectue la même concaténation de nœuds de texte, d'espace blanc significatif, d'espace blanc et de section CDATA. Le lecteur s'arrête au premier nœud dont le type n'est pas un de ceux indiqués plus haut. Si le lecteur est positionné sur un nœud de texte d'attribut, la méthode ReadString se comporte de la même fonction que si le lecteur était positionné sur la balise de début d'élément. Il retourne tous les nœuds de texte d'élément concaténés.
Remarque |
---|
La méthode ReadString s'arrête aux instructions de traitement et commentaires.Elle ne les ignore pas. |
Méthode ReadInnerXml
La méthode ReadInnerXml retourne tout le contenu du nœud actuel, y compris le balisage. Le nœud actuel (balise de début) et le nœud de fin correspondant (balise de fin) ne sont pas retournés. Par exemple, si vous avez la chaîne XML <node>this<child id="123"/></node>, la méthode ReadInnerXml retourne this<child id="123"/>.
Le tableau suivant décrit la façon dont sont traités les nœuds d'élément et d'attribut.
Type de nœud |
Position initiale |
Fragment XML |
Valeur de retour |
Position finale |
---|---|---|---|---|
Element |
Sur la balise de début item1. |
<item1>text1</item1><item2>text2</item2> |
text1 |
Sur la balise de début item2. |
Attribute |
Sur le nœud d'attribut attr1. |
<item attr1="val1" attr2="val2">text</item> |
val1 |
Reste sur le nœud d'attribut attr1. |
Si le lecteur se trouve sur un nœud terminal, appeler la méthode ReadInnerXml équivaut à appeler la méthode Read.
Méthode ReadOuterXml
La méthode ReadOuterXml retourne tout le contenu XML, y compris le balisage, du nœud actuel et de tous ses enfants. Elle se comporte de la même manière que la méthode ReadInnerXml, si ce n'est qu'elle retourne également les balises de début et de fin.
Avec les valeurs du tableau ci-dessus, si le lecteur est positionné sur la balise de début item1, la méthode ReadOuterXml retourne <item1>text1</item1>. Si le lecteur est positionné sur le nœud d'attribut attr1, la méthode ReadOuterXml retourne attr1="val1".