XmlReader.ReadValueChunk, méthode (System.Xml)

Changer de vue:
ScriptFree
Bibliothèque de classes .NET Framework
XmlReader.ReadValueChunk, méthode

Remarque : cette méthode est nouvelle dans le .NET Framework version 2.0.

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

Espace de noms : System.Xml
Assembly : System.Xml (dans system.xml.dll)

Syntaxe

Visual Basic (Déclaration)
Public Overridable Function ReadValueChunk ( _
	buffer As Char(), _
	index As Integer, _
	count As Integer _
) As Integer
Visual Basic (Utilisation)
Dim instance As XmlReader
Dim buffer As Char()
Dim index As Integer
Dim count As Integer
Dim returnValue As Integer

returnValue = instance.ReadValueChunk(buffer, index, count)
C#
public virtual int ReadValueChunk (
	char[] buffer,
	int index,
	int count
)
C++
public:
virtual int ReadValueChunk (
	array<wchar_t>^ buffer, 
	int index, 
	int count
)
J#
public int ReadValueChunk (
	char[] buffer, 
	int index, 
	int count
)
JScript
public function ReadValueChunk (
	buffer : char[], 
	index : int, 
	count : int
) : int

Paramètres

buffer

Tableau de caractères servant de mémoire tampon dans laquelle le texte est écrit. Cette valeur ne peut pas être référence Null (Nothing en Visual Basic).

index

Offset dans la mémoire tampon où le XmlReader peut commencer à copier les résultats.

count

Nombre maximal de caractères à copier dans la mémoire tampon. Le nombre réel de caractères copiés est retourné à partir de cette méthode.

Valeur de retour

Nombre total de caractères lus dans la mémoire tampon. La valeur zéro est retournée lorsqu'il n'y a plus de contenu de texte.
Exceptions

Type d'exception Condition

InvalidOperationException

Le nœud actuel n'a pas de valeur (HasValue est false).

ArgumentNullException

buffer a la valeur référence Null (Nothing en Visual Basic).

ArgumentOutOfRangeException

L'index de la mémoire tampon, ou l'index augmenté de la valeur du paramètre count, est supérieur à la taille de la mémoire tampon allouée.

NotSupportedException

L'implémentation de XmlReader ne prend pas en charge cette méthode.

XmlException

La forme des données XML n'est pas correcte.

Notes

Cette méthode permet de lire des flux de texte très volumineux incorporés dans un document XML en continu, c'est-à-dire un petit nombre de caractères à la fois, plutôt que d'allouer une chaîne unique pour la valeur entière. Cette méthode peut être appelée sur tout nœud ayant une valeur (HasValue est true) ; toutefois la transmission en continu de la valeur du nœud se produit uniquement lorsqu'elle est appelée sur des nœuds de texte, d'espace blanc et d'espace blanc significatif. D'autres valeurs de types de nœud sont placées en mémoire cache, notamment les nœuds d'attribut et CDATA.

Cette méthode retourne uniquement le contenu de la propriété Value et ne déplace pas XmlReader.

Cette méthode lit le nombre spécifié de caractères (count) de la valeur du nœud dans une mémoire tampon de caractères (buffer) à un offset spécifié (index) et retourne le nombre de caractères écrit dans la mémoire tampon. Elle retourne 0 en atteignant la fin de la valeur. Elle ne peut pas être redémarrée pour lire de nouveau la valeur.

Entre les appels de ReadValueChunk les propriétés ne changent pas XmlReader, hormis la propriété Value. Lorsque la propriété Value est accédée, elle peut retourner soit une valeur partielle (avec les caractères pas encore retournés par ReadValueChunk) soit une valeur complète, selon l'implémentation. Toutes les implémentations XmlReader dans l'espace de noms System.Xml retournent une valeur partielle pour l'implémentation de la propriété Value.

Toute méthode Read peut être appelée entre des appels à ReadValueChunk. Si cela se produit, le XmlReader se déplace vers le XmlNodeType suivant dans le flux de données et tous les caractères pas encore retournés sont ignorés.

Il peut arriver que ReadValueChunk retourne un nombre de caractères inférieur à celui qui est demandé. Par exemple, si vous aviez une valeur de 200 caractères avec une paire de substitution aux positions 127 et 128 et que vous appeliez ReadValueChunk avec une mémoire tampon de 128 caractères, l'appel à la méthode retournerait 127 caractères au lieu des 128 demandés. La paire de substitution serait ensuite retournée dans l'appel ReadValueChunk suivant. Dans ce cas, ReadValueChunk n'a pas retourné les 128 caractères demandés, car cela aurait entraîné une paire de substitution incomplète à la fin de la mémoire tampon.

Plates-formes

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

Informations de version

.NET Framework

Prise en charge dans : 2.0

.NET Compact Framework

Prise en charge dans : 2.0
Voir aussi