Lettura di elementi
Nella tabella seguente vengono descritti i metodi e le proprietà forniti dalla classe XmlReader per l'elaborazione di elementi. Dopo che il tipo XmlReader è stato posizionato in corrispondenza di un elemento, le proprietà del nodo, quale Name, riflettono i valori dell'elemento. Oltre ai membri descritti di seguito, è possibile utilizzare qualsiasi metodo e proprietà generale della classe XmlReader per elaborare gli elementi. Il metodo ReadInnerXml può essere utilizzato, ad esempio, per leggere il contenuto di un elemento.
![]() |
---|
Tali metodi includono una chiamata iniziale al metodo MoveToContent. |
Nome membro |
Descrizione |
---|---|
Verifica se il nodo corrente è un tag di inizio oppure un tag di elemento vuoto. |
|
Verifica se il nodo corrente è un elemento e fa avanzare il lettore al nodo successivo. |
|
Verifica che il nodo corrente sia un tag di fine e fa avanzare il lettore al nodo successivo. |
|
Legge un elemento di solo testo. |
|
Avanza il tipo XmlReader in corrispondenza del successivo elemento discendente con il nome specificato. |
|
Avanza il tipo XmlReader in corrispondenza del successivo elemento di pari livello con il nome specificato. |
|
Verifica che l'elemento corrente disponga di un tag di elemento vuoto. Questa proprietà consente di determinare la differenza tra le seguenti stringhe:
In altre parole, IsEmptyElement indica semplicemente se l'elemento nel documento di origine dispone o meno di un tag di fine dell'elemento. |
Esempi
Nell'esempio di codice seguente viene eseguita la lettura di elementi utilizzando i metodi ReadStartElement e ReadString.
Using reader As XmlReader = XmlReader.Create("book3.xml")
' Parse the XML document. ReadString is used to
' read the text content of the elements.
reader.Read()
reader.ReadStartElement("book")
reader.ReadStartElement("title")
Console.Write("The content of the title element: ")
Console.WriteLine(reader.ReadString())
reader.ReadEndElement()
reader.ReadStartElement("price")
Console.Write("The content of the price element: ")
Console.WriteLine(reader.ReadString())
reader.ReadEndElement()
reader.ReadEndElement()
End Using
using (XmlReader reader = XmlReader.Create("book3.xml")) {
// Parse the XML document. ReadString is used to
// read the text content of the elements.
reader.Read();
reader.ReadStartElement("book");
reader.ReadStartElement("title");
Console.Write("The content of the title element: ");
Console.WriteLine(reader.ReadString());
reader.ReadEndElement();
reader.ReadStartElement("price");
Console.Write("The content of the price element: ");
Console.WriteLine(reader.ReadString());
reader.ReadEndElement();
reader.ReadEndElement();
}
Il codice seguente consente di elaborare elementi usando un ciclo While.
While reader.Read()
If reader.IsStartElement() Then
If reader.IsEmptyElement Then
Console.WriteLine("<{0}/>", reader.Name)
Else
Console.Write("<{0}> ", reader.Name)
reader.Read() ' Read the start tag.
If reader.IsStartElement() Then ' Handle nested elements.
Console.Write(vbCr + vbLf + "<{0}>", reader.Name)
End If
Console.WriteLine(reader.ReadString()) 'Read the text content of the element.
End If
End If
End While
while (reader.Read()) {
if (reader.IsStartElement()) {
if (reader.IsEmptyElement)
Console.WriteLine("<{0}/>", reader.Name);
else {
Console.Write("<{0}> ", reader.Name);
reader.Read(); // Read the start tag.
if (reader.IsStartElement()) // Handle nested elements.
Console.Write("\r\n<{0}>", reader.Name);
Console.WriteLine(reader.ReadString()); //Read the text content of the element.
}
}
}