XmlReader.ReadToDescendant Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Verschiebt den XmlReader auf das nächste übereinstimmende Nachfolgerelement.
Überlädt
ReadToDescendant(String, String) |
Verschiebt den XmlReader auf das nächste Nachfolgerelement mit dem angegebenen lokalen Namen und dem angegebenen Namespace-URI. |
ReadToDescendant(String) |
Verschiebt den XmlReader auf das nächste Nachfolgerelement mit dem angegebenen qualifizierten Namen. |
ReadToDescendant(String, String)
- Quelle:
- XmlReader.cs
- Quelle:
- XmlReader.cs
- Quelle:
- XmlReader.cs
Verschiebt den XmlReader auf das nächste Nachfolgerelement mit dem angegebenen lokalen Namen und dem angegebenen Namespace-URI.
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
Parameter
- localName
- String
Der lokale Name des Elements, zu dem Sie wechseln möchten.
- namespaceURI
- String
Der Namespace-URI des Elements, zu dem Sie wechseln möchten.
Gibt zurück
true
, wenn ein übereinstimmendes Nachfolgerelement gefunden wurde, andernfalls false
. Wenn kein übereinstimmendes nachfolgerndes Element gefunden wird, wird das XmlReader auf dem Endtag (NodeType ist XmlNodeType.EndElement
) des Elements positioniert.
Wenn beim Aufruf von XmlReader der ReadToDescendant(String, String) nicht in einem Element positioniert wird, gibt diese Methode false
zurück, und die Position des XmlReader wird nicht geändert.
Ausnahmen
Eine XmlReader-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.
Beide Parameterwerte sind null
.
Gilt für:
ReadToDescendant(String)
- Quelle:
- XmlReader.cs
- Quelle:
- XmlReader.cs
- Quelle:
- XmlReader.cs
Verschiebt den XmlReader auf das nächste Nachfolgerelement mit dem angegebenen qualifizierten Namen.
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
Parameter
- name
- String
Der qualifizierte Name des Elements, zu dem Sie wechseln möchten.
Gibt zurück
true
, wenn ein übereinstimmendes Nachfolgerelement gefunden wurde, andernfalls false
. Wenn kein übereinstimmendes nachfolgerndes Element gefunden wird, wird das XmlReader auf dem Endtag (NodeType ist XmlNodeType.EndElement
) des Elements positioniert.
Wenn beim Aufruf von XmlReader der ReadToDescendant(String) nicht in einem Element positioniert wird, gibt diese Methode false
zurück, und die Position des XmlReader wird nicht geändert.
Ausnahmen
Eine XmlReader-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.
Der Parameter ist eine leere Zeichenfolge.
Beispiele
Im folgenden Beispiel wird der zweite Buchknoten analysiert.
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
Im Beispiel wird die Datei 2books.xml
als Eingabe verwendet.
<!--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>