## 16.4 Eigenschaften und Methoden der Klasse »XmlReader« Einige Eigenschaften und Methoden der Klasse XmlReader kennen Sie bereits. In diesem Abschnitt sollen auch die bisher nicht erwähnten genannt werden. Der besseren Übersicht wegen sind die Methoden und Eigenschaften nach Funktion bzw. Verhalten gruppiert. ### 16.4.1 Navigation mit dem »XmlReader«

Tabelle 16.4 Navigationsmethoden der Klasse »XmlReader«

Methode | Beschreibung
IsStartElement | Überprüft, ob der aktuelle Inhaltsknoten ein Start-Tag ist. Intern wird dabei MoveToContent() aufgerufen.
MoveToContent | Enthält der aktuelle Knoten keine Daten, werden alle folgenden Whitespaces, Kommentare usw. so lange übersprungen, bis die Methode auf einen Knoten mit Daten stößt.
Read | Die Methode springt zum folgenden XML-Knoten. Der Rückgabewert ist true, wenn noch ein weiteres XML-Element gelesen werden kann.
ReadToDescendant("Element") | Die Methode setzt den XmlReader auf das nächste XML-Element, das dem aktuellen XML-Element untergeordnet ist. Wird kein passendes gefunden, wird der XmlReader auf das nächste Startelement gesetzt. Dazu ein Beispiel. Hat das XML-Dokument die Struktur <a><b><c></c></b></a><d></d> und steht der Reader aktuell auf Element a, wird die Anweisung
    reader.ReadToDescendant("b")
erfolgreich sein, während die Anweisung
    reader.ReadToDescendant("d")
als Ergebnis false liefert.
ReadToFollowing("Element") | Liest, bis ein Element mit dem angegebenen qualifizierten Namen gefunden wird, z. B.: reader.ReadToFollowing("Person") Der Rückgabewert ist true, wenn ein übereinstimmendes Element gefunden wird.
ReadToNextSibling("Element") | Die Methode setzt den Reader auf das nächste XML-Element, das sich auf derselben Hierarchieebene wie das aktuelle Element befindet. Wird kein passendes Element gefunden, wird der Reader auf das End-Element des übergeordneten Elements gesetzt.
Skip | Die Methode überspringt den Inhalt des aktuellen XML-Elements sowie aller darin enthaltenen untergeordneten Elemente.
### 16.4.2 Eigenschaften und Methoden im Zusammenhang mit Attributen

Tabelle 16.5 Methoden und Eigenschaften, die die Attribute betreffen

Methode/Eigenschaft | Beschreibung
AttributeCount | (Eigenschaft) Liefert die Anzahl der Attribute des aktuellen XML-Elements.
HasAttributes | (Eigenschaft) Gibt an, ob das aktuelle Element Attribute hat.
MoveToFirstAttribute | Methode, die zum ersten Attribut des aktuellen XML-Elements springt
MoveToNextAttribute | Methode, die zum nächsten Attribut des aktuellen XML-Elements springt
MoveToAttribute | Methode, die zum angegebenen Attribut des aktuellen Elements springt, beispielsweise: reader.MoveToAttribute("Ort")
MoveToElement | Methode, die von der Ebene der Attribute zurück zur Elementebene springt.
### 16.4.3 Eigenschaften und Methoden im Zusammenhang mit Namespaces

Tabelle 16.6 Methoden und Eigenschaften, um Namespaces auszuwerten

Methode/Eigenschaft | Beschreibung
LocalName | Eigenschaft, die den Elementnamen liefert, jedoch ohne Präfix
LookupNamespace | Liefert den Namespace-URI zum angegeben Präfix, z. B.: reader.LookupNamespace("a")
Name | Eigenschaft, die den Element- oder Attributbezeichner liefert, einschließlich des vorangestellten Präfix
NamespaceURI | Liefert den Namespace-URI zum aktuellen Element.
Prefix | Diese Eigenschaft liefert das Präfix des aktuellen XML-Elements.
ReadXxx | Diese Methode liest das durch Name und Namespace-URI spezifizierte XML-Element.
### 16.4.4 Daten lesen

Tabelle 16.7 Methoden zum Lesen von Daten

Methode | Beschreibung
ReadContentAsXxxx | Diese Methode liefert den Inhalt von Knoten (z. B. CDATA, Text etc.), wenn diese einen solchen haben können. Ausgeschlossen sind allerdings XML-Elemente. Dabei wird der Inhalt im gewünschten Datentyp gelesen, z. B. als ReadContentAsString oder ReadContentAsInt. Anschließend wird der Reader auf den nächsten Knoten gesetzt.
ReadElementContentAsXxx | Liefert den Inhalt des aktuellen XML-Elements im gewünschten Datentyp. Die Methode ist allerdings nur auf XML-Elemente anwendbar, die selbst keine Unterelemente haben. Anschließend wird der Reader auf den nächsten Knoten gesetzt.
ReadElementString | Diese Methode liest einfacher Nur-Text-Elemente. Sie ruft MoveToContenet auf, um den nächsten Inhaltsknoten zu suchen, und analysiert dann dessen Wert als einfache Zeichenfolge.
ReadString | Liefert den Inhalt des aktuellen Knotens als Zeichenfolge.
ReadInnerXml | Diese Methode gibt den gesamten Inhalt des aktuellen Knotens zurück. Der aktuelle Knoten (Start-Tag) und der entsprechende Endknoten (End-Tag) werden nicht zurückgegeben.
ReadOuterXml | Diese Methode gibt den gesamten aktuellen Knotens zurück, einschließlich des Start- und End-Tags.