XmlReader.ReadToDescendant Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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>