Partager via


Lecture d'éléments

Le tableau suivant décrit les méthodes et propriétés fournies par la classe XmlReader pour le traitement des éléments. Une fois l'objet XmlReader positionné sur un élément, les propriétés du nœud, telles que Name, reflètent les valeurs de l'élément. Outre les membres décrits ci-dessous, toutes les propriétés et méthodes générales de la classe XmlReader peuvent également être utilisées pour le traitement des éléments. Par exemple, vous pouvez utiliser la méthode ReadInnerXml pour lire le contenu d'un élément.

RemarqueRemarque

Ces méthodes incluent un appel initial à la méthode MoveToContent.

Nom de membre

Description

IsStartElement

Vérifie si le nœud actuel est une balise de début ou d'élément vide.

ReadStartElement

Vérifie que le nœud actuel est un élément et avance le lecteur jusqu'au nœud suivant.

ReadEndElement

Vérifie que le nœud actuel est une balise de fin et avance le lecteur jusqu'au nœud suivant.

ReadElementString

Lit un élément texte uniquement.

ReadToDescendant

Avance l'objet XmlReader jusqu'à l'élément descendant suivant portant le nom spécifié.

ReadToNextSibling

Avance l'objet XmlReader jusqu'à l'élément frère suivant portant le nom spécifié.

IsEmptyElement

Vérifie si l'élément actuel présente une balise d'élément vide. Cette propriété permet de déterminer la différence entre les balises suivantes :

  • <item num="123"/> (La propriété IsEmptyElement est true.)

  • <item num="123"> (La propriété IsEmptyElement est false, bien que le contenu de l'élément soit vide.)

En d'autres termes, la propriété IsEmptyElement signale simplement si l'élément du document source présente ou non une balise d'élément de fin.

Exemples

Le code suivant lit les éléments à l'aide des méthodes ReadStartElement et 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();

}

Le code suivant traite les éléments à l'aide d'une boucle 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.
    }
  } 
} 

Voir aussi

Concepts

Lecture de XML avec XmlReader