Assembly: System.Xml (in 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
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.| Tipo di eccezione | Condizione |
|---|---|
| Il nodo corrente non ha un valore (HasValue è false). |
|
| Il valore buffer è riferimento null (Nothing in Visual Basic). |
|
| L'indice nel buffer oppure la somma di indice e numero è superiore alla dimensione del buffer allocato. |
|
| L'implementazione di XmlReader non supporta questo metodo. |
|
| Il formato dei dati XML non è corretto. |
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.
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.