Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
XmlReader-Instanzen werden mit der Create-Methode erstellt. Mit der XmlReaderSettings-Klasse wird die Gruppe von Funktionen angegeben, die für das XmlReader-Objekt aktiviert werden sollen.
Wichtig |
|---|
Obwohl Microsoft .NET Framework konkrete Implementierungen der XmlReader-Klasse enthält (z. B. die Klassen XmlTextReader, XmlNodeReader und XmlValidatingReader), wird in .NET Framework, Version 2.0, empfohlen, die XmlReader-Instanz mithilfe der Create-Methode zu erstellen. |
Funktionen werden mit den Eigenschaften der XmlReaderSettings-Klasse aktiviert oder deaktiviert. Das XmlReaderSettings-Objekt wird anschließend an die Create-Methode übergeben.
Die Verwendung der Create-Methode und der XmlReaderSettings-Klasse bietet folgende Vorteile:
Sie können angeben, welche Funktionen für das erstellte XmlReader-Objekt unterstützt werden sollen.
Die XmlReaderSettings-Klasse kann erneut verwendet werden, um mehrere Readerobjekte zu erstellen. Sie können dieselben Einstellungen verwenden, um mehrere Reader mit denselben Funktionen zu erstellen. Sie können das XmlReaderSettings-Objekt auch ändern und einen neuen Reader mit anderen Funktionen erstellen.
Sie können einem vorhandenen Reader Funktionen hinzufügen. Die Create-Methode kann ein anderes XmlReader-Objekt annehmen. Bei dem zugrunde liegenden XmlReader-Objekt kann es sich um einen benutzerdefinierten Reader, ein XmlTextReader-Objekt oder eine andere XmlReader-Instanz handeln, dem bzw. der Sie zusätzliche Funktionen hinzufügen möchten.
Nutzen Sie die gesamten Vorteile aller neuen Funktionen, die der XmlReader-Klasse in .NET Framework, Version 2.0, hinzugefügt wurden. Bestimmte Funktionen (z. B. verbesserte Übereinstimmungsprüfung und Übereinstimmung mit der Empfehlung XML 1.0) sind nur in XmlReader-Objekten verfügbar, die von der Create-Methode erstellt wurden.
In der folgenden Tabelle sind die Standardeinstellungen für die Eigenschaften der XmlReaderSettings-Klasse aufgeführt.
Eigenschaft |
Standardwert |
|---|---|
true |
|
ConformanceLevel.Document |
|
false |
|
false |
|
false |
|
0. |
|
0 |
|
null |
|
true. Diese Eigenschaft ist obsolet. Verwenden Sie stattdessen DtdProcessing. |
|
Ein leeres XmlSchemaSet-Objekt. |
|
ProcessIdentityConstraints ist aktiviert |
|
ValidationType.None |
|
Ein neues XmlUrlResolver-Objekt. |
XmlReader-Szenarios
In der folgenden Tabelle werden einige häufig auftretende Szenarios sowie die aus der XmlReaderSettings-Klasse anzuwendenden Einstellungen beschrieben.
Szenario |
XmlReaderSettings |
|---|---|
Bei den Daten muss es sich um ein wohlgeformtes XML-Dokument handeln. |
ConformanceLevel = ConformanceLevel.Document |
Bei den Daten muss es sich um eine wohlgeformte Entität handeln, die von XML analysiert wurde. |
ConformanceLevel = ConformanceLevel.Fragment |
Die Daten müssen anhand einer DTD validiert werden. |
DtdProcessing = DtdProcessing.Parse ValidationType = ValidationType.DTD |
Die Daten müssen anhand eines XML-Schemas validiert werden. |
ValidationType = ValidationType.Schema Schemas = Das für die Validierung verwendete XmlSchemaSet. |
Die Daten müssen anhand eines XML-Inlineschemas validiert werden. |
ValidationType = ValidationType.Schema ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema |
Typ muss unterstützt werden. |
ValidationType = ValidationType.Schema Schemas = Das verwendete XmlSchemaSet. |
Es gibt einige besondere Szenarios, bei denen u. U. die Verwendung einer XmlReader-Implementierung erforderlich ist, die nicht von der Create-Methode erstellt wurde.
- Falls Sie anhand eines XDR-Schemas validieren müssen, verwenden Sie die XmlValidatingReader-Klasse.
Hinweis |
|---|
Die XmlValidatingReader-Klasse ist in .NET Framework, Version 2.0, veraltet.Es wird empfohlen, zu XML-Schemata zu migrieren und mithilfe eines von der Create-Methode zurückgegebenen XmlReader-Objekts zu validieren. |
Wenn Sie XML-Daten aus einem XmlNode-Objekt lesen möchten, verwenden Sie die XmlNodeReader-Klasse.
Falls Sie Entitäten auf Anforderung erweitern müssen (von der Create-Methode erstellte Reader erweitern alle Entitäten), oder falls der Textinhalt nicht normalisiert werden soll, verwenden Sie die XmlTextReader-Klasse.
Wenn keine Standardattribute zurückgegeben werden sollen, verwenden Sie die XmlTextReader-Klasse.
So instanziieren Sie ein XmlReader-Objekt
Dim settings As New XmlReaderSettings()
settings.ConformanceLevel = ConformanceLevel.Fragment
settings.IgnoreWhitespace = true
settings.IgnoreComments = true
Dim reader As XmlReader = XmlReader.Create("books.xml", settings)
XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
XmlReader reader = XmlReader.Create("books.xml", settings);
So wird Sie eine Readerinstanz in einem anderen Reader eingebettet
Dim txtReader As XmlTextReader = New XmlTextReader("bookOrder.xml")
Dim settings As New XmlReaderSettings()
settings.Schemas.Add("urn:po-schema", "PO.xsd")
settings.ValidationType = ValidationType.Schema
Dim reader As XmlReader = XmlReader.Create(txtReader, settings)
XmlTextReader txtReader = new XmlTextReader("bookOrder.xml");
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add("urn:po-schema", "PO.xsd");
settings.ValidationType = ValidationType.Schema;
XmlReader reader = XmlReader.Create(txtReader, settings);
So verketten Sie Reader zum Hinzufügen zusätzlicher Einstellungen
Dim settings As New XmlReaderSettings()
settings.ValidationType = ValidationType.DTD
Dim inner As XmlReader = XmlReader.Create("book.xml", settings) ' DTD Validation
settings.Schemas.Add("urn:book-schema", "book.xsd")
settings.ValidationType = ValidationType.Schema
Dim outer As XmlReader = XmlReader.Create(inner, settings) ' XML Schema Validation
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.DTD;
XmlReader inner = XmlReader.Create("book.xml", settings); // DTD Validation
settings.Schemas.Add("urn:book-schema", "book.xsd");
settings.ValidationType = ValidationType.Schema;
XmlReader outer = XmlReader.Create(inner, settings); // XML Schema Validation
Wichtig
Hinweis