Share via


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.

Nota

Tali metodi includono una chiamata iniziale al metodo MoveToContent.

Nome membro

Descrizione

IsStartElement

Verifica se il nodo corrente è un tag di inizio oppure un tag di elemento vuoto.

ReadStartElement

Verifica se il nodo corrente è un elemento e fa avanzare il lettore al nodo successivo.

ReadEndElement

Verifica che il nodo corrente sia un tag di fine e fa avanzare il lettore al nodo successivo.

ReadElementString

Legge un elemento di solo testo.

ReadToDescendant

Avanza il tipo XmlReader in corrispondenza del successivo elemento discendente con il nome specificato.

ReadToNextSibling

Avanza il tipo XmlReader in corrispondenza del successivo elemento di pari livello con il nome specificato.

IsEmptyElement

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.
    }
  } 
} 

Vedere anche

Concetti

Lettura di XML con XmlReader