Condividi tramite


Lettura del contenuto

La classe XmlReader include membri che possono essere utilizzati per leggere il contenuto.

NotaNota

I membri descritti in questo argomento restituiscono contenuto sotto forma di valori di stringa.Se si desidera leggere il contenuto in forma tipizzata, vedere Lettura di dati tipizzati.

Proprietà Value

La proprietà Value può essere utilizzata per ottenere il contenuto di testo del nodo corrente. Il valore restituito dipende dal tipo del nodo corrente. Nella tabella seguente viene descritto il contenuto restituito per ciascuno dei possibili tipi di nodo.

Tipo di nodo

Valore

Attribute

Valore dell'attributo.

CDATA

Contenuto della sezione CDATA.

Comment

Contenuto del commento.

DocumentType

Subset interno.

ProcessingInstruction

Intero contenuto, ad eccezione della destinazione.

SignificantWhitespace

Spazio vuoto tra markup in un modello a contenuto misto.

Text

Contenuto del nodo di tipo text.

Whitespace

Spazio vuoto tra markup.

XmlDeclaration

Contenuto della dichiarazione.

Tutti gli altri tipi di nodo

Stringa vuota.

Metodo ReadString

Il metodo ReadString restituisce il contenuto di un nodo di tipo element o di tipo text sotto forma di stringa.

Se il tipo XmlReader è posizionato in corrispondenza di un elemento ReadString, concatena tutti i nodi di tipo text, i nodi con spazi vuoti significativi, i nodi con spazi vuoti e i nodi della sezione CDATA e restituisce i dati concatenati come contenuto dell'elemento. Il lettore si interrompe quando viene rilevato un markup. Questa situazione può verificarsi in un modello a contenuto misto oppure durante la lettura di un tag di fine elemento.

Se il tipo XmlReader è posizionato in corrispondenza di un nodo di tipo text, il metodo ReadString esegue la stessa concatenazione dei nodi di tipo text, i nodi spazi vuoti significativi, i nodi spazi vuoti e i nodi della sezione CDATA. Il lettore si interrompe in corrispondenza del primo nodo che appartiene a uno dei tipi indicati. Se il lettore è posizionato in corrispondenza di un nodo di tipo text di un attributo, il metodo ReadString funzionerà come quando il lettore è posizionato in corrispondenza del tag di inizio dell'elemento, restituendo tutti i nodi di tipo text dell'elemento concatenati.

NotaNota

Il metodo ReadString si interrompe in corrispondenza di istruzioni di elaborazione e commenti.Ovvero, non li ignora.

Metodo ReadInnerXml

Il metodo ReadInnerXml restituisce l'intero contenuto del nodo corrente, inclusi i markup. Il nodo corrente, ovvero il tag di inizio, e il corrispondente nodo o tag di fine non vengono restituiti. Se, ad esempio si dispone della stringa <node>this<child id="123"/></node>, il metodo ReadInnerXml restituirà this<child id="123"/>.

Nella tabella seguente viene descritto come vengono gestiti i nodi di tipo Element e Attribute.

Tipo di nodo

Posizione

iniziale

Frammento XML

Valore

restituito

Posizione

successiva

Element

In corrispondenza del tag di inizio item1.

<item1>text1</item1><item2>text2</item2>

text1

In corrispondenza del tag di inizio item2.

Attribute

In corrispondenza del nodo Attribute attr1.

<item attr1="val1" attr2="val2">text</item>

val1

Rimane in corrispondenza del nodo Attribute attr1.

Se il lettore è posizionato in corrispondenza di un nodo foglia, la chiamata al metodo ReadInnerXml equivarrà alla chiamata al metodo Read.

Metodo ReadOuterXml

Il metodo ReadOuterXml restituisce tutto il contenuto XML del nodo corrente e dei relativi nodi figlio, inclusi i markup. Il comportamento di questo metodo è simile a quello del metodo ReadInnerXml, ma a differenza di questo restituisce anche i tag di inizio e di fine.

Utilizzando i valori della tabella precedente, se il lettore è posizionato sul tag di inizio item1, il metodo ReadOuterXml restituisce <item1>text1</item1>. Se il lettore è posizionato sul nodo Attribute attr1, il metodo ReadOuterXml restituisce attr1="val1".

Vedere anche

Concetti

Lettura di elementi

Lettura di attributi

Lettura di XML con XmlReader