XmlReader.ReadToDescendant Méthode

Définition

Avance l’élément XmlReader descendant correspondant suivant.

Surcharges

Nom Description
ReadToDescendant(String, String)

Avance l’élément XmlReader descendant suivant avec le nom local et l’URI d’espace de noms spécifiés.

ReadToDescendant(String)

Avance l’élément XmlReader descendant suivant avec le nom qualifié spécifié.

ReadToDescendant(String, String)

Avance l’élément XmlReader descendant suivant avec le nom local et l’URI d’espace de noms spécifiés.

public:
 virtual bool ReadToDescendant(System::String ^ localName, System::String ^ namespaceURI);
public virtual bool ReadToDescendant(string localName, string namespaceURI);
abstract member ReadToDescendant : string * string -> bool
override this.ReadToDescendant : string * string -> bool
Public Overridable Function ReadToDescendant (localName As String, namespaceURI As String) As Boolean

Paramètres

localName
String

Nom local de l’élément vers lequel vous souhaitez vous déplacer.

namespaceURI
String

URI d’espace de noms de l’élément vers lequel vous souhaitez accéder.

Retours

true si un élément descendant correspondant est trouvé ; sinon false. Si aucun élément descendant correspondant n’est trouvé, il XmlReader est positionné sur la balise de fin (NodeType est XmlNodeType.EndElement) de l’élément.

Si l’élément XmlReader n’est pas positionné lorsqu’il ReadToDescendant(String, String) a été appelé, cette méthode retourne false et la position de l’élément XmlReader n’est pas modifiée.

Exceptions

Une XmlReader méthode a été appelée avant la fin d’une opération asynchrone précédente. Dans ce cas, InvalidOperationException est levée avec le message « Une opération asynchrone est déjà en cours ».

Les deux valeurs de paramètre sont null.

S’applique à

ReadToDescendant(String)

Avance l’élément XmlReader descendant suivant avec le nom qualifié spécifié.

public:
 virtual bool ReadToDescendant(System::String ^ name);
public virtual bool ReadToDescendant(string name);
abstract member ReadToDescendant : string -> bool
override this.ReadToDescendant : string -> bool
Public Overridable Function ReadToDescendant (name As String) As Boolean

Paramètres

name
String

Nom qualifié de l’élément vers lequel vous souhaitez vous déplacer.

Retours

true si un élément descendant correspondant est trouvé ; sinon false. Si aucun élément descendant correspondant n’est trouvé, il XmlReader est positionné sur la balise de fin (NodeType est XmlNodeType.EndElement) de l’élément.

Si l’élément XmlReader n’est pas positionné lorsqu’il ReadToDescendant(String) a été appelé, cette méthode retourne false et la position de l’élément XmlReader n’est pas modifiée.

Exceptions

Une XmlReader méthode a été appelée avant la fin d’une opération asynchrone précédente. Dans ce cas, InvalidOperationException est levée avec le message « Une opération asynchrone est déjà en cours ».

Le paramètre est une chaîne vide.

Exemples

L’exemple suivant analyse le deuxième nœud de livre.

using (XmlReader reader = XmlReader.Create("2books.xml")) {

  // Move the reader to the second book node.
  reader.MoveToContent();
  reader.ReadToDescendant("book");
  reader.Skip(); //Skip the first book.

  // Parse the file starting with the second book node.
  do {
     switch (reader.NodeType) {
        case XmlNodeType.Element:
           Console.Write("<{0}", reader.Name);
           while (reader.MoveToNextAttribute()) {
               Console.Write(" {0}='{1}'", reader.Name, reader.Value);
           }
           Console.Write(">");
           break;
        case XmlNodeType.Text:
           Console.Write(reader.Value);
           break;
        case XmlNodeType.EndElement:
           Console.Write("</{0}>", reader.Name);
           break;
     }
  }  while (reader.Read());
}
Using reader As XmlReader = XmlReader.Create("2books.xml")

  ' Move the reader to the second book node.
  reader.MoveToContent()
  reader.ReadToDescendant("book")
  reader.Skip() 'Skip the first book.
  ' Parse the file starting with the second book node.
  Do
    Select Case reader.NodeType
      Case XmlNodeType.Element
        Console.Write("<{0}", reader.Name)
        While reader.MoveToNextAttribute()
            Console.Write(" {0}='{1}'", reader.Name, reader.Value)
        End While
        Console.Write(">")
      Case XmlNodeType.Text
        Console.Write(reader.Value)
      Case XmlNodeType.EndElement
        Console.Write("</{0}>", reader.Name)
    End Select
  Loop While reader.Read()

End Using

L’exemple utilise le fichier, 2books.xmlcomme entrée.

<!--sample XML fragment-->
<bookstore>
  <book genre='novel' ISBN='10-861003-324'>
    <title>The Handmaid's Tale</title>
    <price>19.95</price>
  </book>
  <book genre='novel' ISBN='1-861001-57-5'>
    <title>Pride And Prejudice</title>
    <price>24.95</price>
  </book>
</bookstore>

S’applique à