Assembly : System.Xml (dans system.xml.dll)
Public Overridable Function ReadValueChunk ( _ buffer As Char(), _ index As Integer, _ count As Integer _ ) As Integer
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)
public virtual int ReadValueChunk ( char[] buffer, int index, int count )
public: virtual int ReadValueChunk ( array<wchar_t>^ buffer, int index, int count )
public int ReadValueChunk ( char[] buffer, int index, int count )
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.| Type d'exception | Condition |
|---|---|
| Le nœud actuel n'a pas de valeur (HasValue est false). |
|
| buffer a la valeur référence Null (Nothing en Visual Basic). |
|
| 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. |
|
| L'implémentation de XmlReader ne prend pas en charge cette méthode. |
|
| La forme des données XML n'est pas correcte. |
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.
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.