Metodo XmlReader.ReadValueChunk (System.Xml)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Metodo XmlReader.ReadValueChunk

Nota: questo metodo è stato introdotto con .NET Framework versione 2.0.

Legge flussi di testo di grandi dimensioni incorporati in un documento XML.

Spazio dei nomi: System.Xml
Assembly: System.Xml (in system.xml.dll)

Sintassi

Visual Basic - (Dichiarazione)
Public Overridable Function ReadValueChunk ( _
	buffer As Char(), _
	index As Integer, _
	count As Integer _
) As Integer
Visual Basic (Utilizzo)
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

Parametri

buffer

Matrice di caratteri che agisce da buffer in cui viene scritto il contenuto testuale. Questo valore non può essere riferimento null (Nothing in Visual Basic).

index

L'offset all'interno del buffer in cui il XmlReader può iniziare a copiare i risultati.

count

Numero massimo di caratteri da copiare nel buffer. Il numero effettivo di caratteri copiati viene restituito da questo metodo.

Valore restituito

Numero di caratteri letti nel buffer. Quando non è più disponibile contenuto di testo, viene restituito il valore zero.
Eccezioni

Tipo di eccezione Condizione

InvalidOperationException

Il nodo corrente non ha un valore (HasValue è false).

ArgumentNullException

Il valore buffer è riferimento null (Nothing in Visual Basic).

ArgumentOutOfRangeException

L'indice nel buffer oppure la somma di indice e numero è superiore alla dimensione del buffer allocato.

NotSupportedException

L'implementazione di XmlReader non supporta questo metodo.

XmlException

Il formato dei dati XML non è corretto.

Note

Questo metodo consente la lettura di flussi di testo di grandi dimensioni incorporati in un documento XML in forma di streaming: viene cioè utilizzato un numero ridotto di caratteri per volta anziché allocare un'unica stringa per l'intero valore. Questo metodo può essere chiamato in corrispondenza di qualsiasi nodo che possieda un valore (HasValue è true). Tuttavia, lo streaming effettivo del valore del nodo viene eseguito solo quando la chiamata avviene in corrispondenza di nodi di testo, di spazi vuoti e di spazi vuoti significativi. Altri valori del tipo di nodo, ad esempio nodi di attributi e CDATA, vengono inseriti nella cache.

Questo metodo restituisce solo il contenuto della proprietà Value e non sposta il XmlReader.

Questo metodo legge il numero di caratteri specificato (count) del valore del nodo in un buffer di caratteri (buffer) in corrispondenza di un offset specificato (index) e restituisce il numero di caratteri scritti nel buffer. Restituisce 0 quando viene raggiunta la fine del valore. Non può essere riavviato per leggere nuovamente il valore.

Tra le chiamate a ReadValueChunk le proprietà di XmlReader restano invariate, ad eccezione della proprietà Value. Quando si accede alla proprietà Value, è possibile che venga restituito un valore parziale (con i caratteri non ancora restituiti da ReadValueChunk) o un valore completo, a seconda dell'implementazione. Tutte le implementazioni di XmlReader nello spazio dei nomi System.Xml restituiscono un valore parziale per l'implementazione della proprietà Value.

È possibile chiamare qualsiasi metodo Read tra le chiamate a ReadValueChunk. In tal caso, XmlReader si sposta all'enumerazione XmlNodeType successiva del flusso e gli eventuali caratteri non ancora restituiti vengono ignorati.

Questa condizione può verificarsi, ad esempio, quando ReadValueChunk restituisce un numero di caratteri inferiore a quello richiesto. Ad esempio, se si dispone di un valore costituito da 200 caratteri con una coppia di surrogati nelle posizioni 127 e 128 ed è stato chiamato ReadValueChunk con un buffer di 128 caratteri, il metodo restituisce 127 caratteri anziché i 128 richiesti. La coppia di surrogati viene restituita nella chiamata successiva a ReadValueChunk. In questo esempio, ReadValueChunk non ha restituito i 128 caratteri richiesti perché, in tal caso, si sarebbe ottenuto come risultato una coppia di surrogati incompleta alla fine del buffer.

Piattaforme

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

Informazioni sulla versione

.NET Framework

Supportato in: 2.0

.NET Compact Framework

Supportato in: 2.0
Vedere anche