Freigeben über


Laden von Daten aus einem Reader

Wenn ein XML-Dokument mit der Load Methode und einem Parameter eines XmlReaderDokuments geladen wird, gibt es Unterschiede im Verhalten, die im Vergleich zum Verhalten des Ladens von Daten aus den anderen Formaten auftreten. Wenn sich der Leser im Anfangszustand befindet, Load verwendet den gesamten Inhalt des Readers und erstellt das XML-Dokumentobjektmodell (DOM) aus allen Daten des Readers.

Wenn sich der Reader bereits auf einem Knoten im Dokument befindet und der Reader an die Load-Methode übergeben wird, versucht Load, den aktuellen Knoten und alle zugehörigen nebengeordneten Elemente zu lesen. Dies erfolgt bis zum Endtag, das die aktuelle Hierarchietiefe abschließt. Ob Load erfolgreich ist, hängt vom Knoten ab, auf dem sich der Reader beim Ladeversuch befindet, da Load überprüft, ob das XML aus dem Reader wohlgeformt ist. Wenn der XML-Code nicht wohlgeformt ist, wirft Load eine Ausnahme. Der folgende Satz von Knoten enthält beispielsweise zwei Elemente auf Stammebene, der XML-Code ist nicht wohlgeformt und Load löst eine Ausnahme aus.

  • Ein Kommentarknoten, auf den ein Elementknoten, ein weiterer Elementknoten und dann ein EndElement-Knoten folgt.

Der folgende Satz von Knoten erstellt ein unvollständiges DOM, da kein Element auf Stammebene vorhanden ist.

  • Ein Kommentarknoten, auf den ein ProcessingInstruction-Knoten, ein Kommentarknoten und dann ein EndElement-Knoten folgt.

Dadurch wird keine Ausnahme ausgelöst, und die Daten werden geladen. Sie können oben auf diesen Knoten ein Stammelement hinzufügen und wohlgeformte XML-Daten erstellen, die ohne Fehler gespeichert werden können.

Wenn der Leser auf einem Blattknoten positioniert ist, der für die Stammebene eines Dokuments ungültig ist (z. B. ein Leerzeichen oder Attributknoten), liest der Leser weiter, bis er auf einem Knoten positioniert ist, der für den Stamm verwendet werden kann. Das Dokument beginnt an diesem Punkt zu laden.

Überprüft standardmäßig nicht, Load ob der XML-Code mithilfe der Dokumenttypdefinition (DOCUMENT Type Definition, DTD) oder der Schemaüberprüfung gültig ist. Es überprüft nur, ob der XML-Code wohlgeformt ist. Damit die Überprüfung durchgeführt werden kann, müssen Sie eine XmlReader mithilfe der XmlReaderSettings Klasse erstellen. Die XmlReader Klasse kann die Überprüfung mithilfe eines DTD- oder Schemadefinitionssprachenschemas (XSD) erzwingen. Die ValidationType Eigenschaft der XmlReaderSettings Klasse bestimmt, ob die XmlReader Instanz die Validierung erzwingt. Weitere Informationen zum Überprüfen von XML-Daten finden Sie im Abschnitt "Hinweise" der XmlReader Referenzseite.

Siehe auch