(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

XamlXmlWriter-Klasse

Verwendet eine TextWriter-Hilfsklasse oder eine XmlWriter-Hilfsklasse, um einen XAML-Knotenstream in ein mit Text oder Markup serialisiertes Formular zu schreiben.

Namespace:  System.Xaml
Assembly:  System.Xaml (in System.Xaml.dll)

public class XamlXmlWriter : XamlWriter

Der XamlXmlWriter-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeXamlXmlWriter(Stream, XamlSchemaContext)Initialisiert eine neue Instanz der XamlXmlWriter-Klasse aus einem Datenstrom.
Öffentliche MethodeXamlXmlWriter(TextWriter, XamlSchemaContext)Initialisiert eine neue Instanz der XamlXmlWriter-Klasse aus einer TextWriter-Basis.
Öffentliche MethodeXamlXmlWriter(XmlWriter, XamlSchemaContext)Initialisiert eine neue Instanz der XamlXmlWriter-Klasse aus einer XmlWriter-Basis.
Öffentliche MethodeXamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings)Initialisiert eine neue Instanz der XamlXmlWriter-Klasse aus einem Datenstrom mithilfe eines Writer-Einstellungsobjekts.
Öffentliche MethodeXamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings)Initialisiert eine neue Instanz der XamlXmlWriter-Klasse aus einer TextWriter-Basis mithilfe eines Einstellungsobjekts.
Öffentliche MethodeXamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings)Initialisiert eine neue Instanz der XamlXmlWriter-Klasse aus einer XmlWriter-Basis mithilfe eines Einstellungsobjekts.
Zum Seitenanfang

  NameBeschreibung
Geschützte EigenschaftIsDisposedRuft ab, ob die Dispose-Methode aufgerufen wurde. (Von XamlWriter geerbt.)
Öffentliche EigenschaftSchemaContextRuft den XAML-Schemakontext ab, der von der XamlXmlWriter-Klasse zur Verarbeitung verwendet wird. (Überschreibt XamlWriter.SchemaContext.)
Öffentliche EigenschaftSettingsRuft die Writereinstellungen ab, die von der XamlXmlWriter-Klasse zur XAML-Verarbeitung verwendet werden.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeCloseSchließt das XAML-Writerobjekt. (Von XamlWriter geerbt.)
Geschützte MethodeDisposeGibt die von der XamlXmlWriter-Klasse verwendeten nicht verwalteten Ressourcen und optional auch die verwalteten Ressourcen frei. (Überschreibt XamlWriter.Dispose(Boolean).)
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeFlushRuft die Flush-Methode der zugrunde liegenden XmlWriter- oder TextWriter-Klasse auf, die alle derzeit im Puffer enthaltenen Elemente schreibt und den Writer anschließend schließt.
Öffentliche MethodeGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche MethodeWriteEndMemberSchreibt einen XAML-Endmemberknoten in die zugrunde liegende XmlWriter- oder TextWriter-Klasse. Löst eine Ausnahme aus, wenn die aktuelle Position des XAML-Knotendatenstroms nicht innerhalb eines Members liegt oder wenn der interne Zustand des Writers nicht das Schreiben in Endmember unterstützt. (Überschreibt XamlWriter.WriteEndMember().)
Öffentliche MethodeWriteEndObjectSchreibt einen XAML-Endobjektknoten in die zugrunde liegende XmlWriter- oder TextWriter-Klasse. Löst eine Ausnahme aus, wenn die aktuelle Position des XAML-Knotenstreams, die verarbeitet wird, nicht mit dem Schreiben eines Endobjekts kompatibel ist. (Überschreibt XamlWriter.WriteEndObject().)
Öffentliche MethodeWriteGetObjectSchreibt ein Objekt für Fälle, in denen das angegebene Objekt ein standardmäßiger oder impliziter Wert der geschriebenen Eigenschaft ist. Das Objekt wird nicht als Objektwert in der Eingabe-XAML-Knotengruppe angegeben. (Überschreibt XamlWriter.WriteGetObject().)
Öffentliche MethodeWriteNamespaceSchreibt Namespaceinformationen in die zugrunde liegende XmlWriter- oder TextWriter-Klasse. Löst möglicherweise eine Ausnahme für bestimmte Zustände aus. Darf jedoch stattdessen das Schreiben der Namespaceinformationen verzögern, bis der verarbeitete Writer und XAML-Knotenstream eine Position erreicht, an der eine XAML-Namespacedeklaration eingefügt werden kann. (Überschreibt XamlWriter.WriteNamespace(NamespaceDeclaration).)
Öffentliche MethodeWriteNodeFührt eine Umschaltung auf Grundlage des Knotentyps des XAML-Readers aus (XamlReader.NodeType) und ruft die relevante Write-Methode für die Writerimplementierung auf. (Von XamlWriter geerbt.)
Öffentliche MethodeWriteStartMemberSchreibt einen XAML-Startmemberknoten in die zugrunde liegende XmlWriter- oder TextWriter-Klasse. Löst eine Ausnahme aus, wenn sich die aktuelle Position des XAML-Knotendatenstroms innerhalb eines anderen Members befindet oder andernfalls nicht in einem Bereich oder Zustand des Writers, in dem ein Startmember geschrieben werden kann. (Überschreibt XamlWriter.WriteStartMember(XamlMember).)
Öffentliche MethodeWriteStartObjectSchreibt einen XAML-Startobjektknoten in die zugrunde liegende XmlWriter- oder TextWriter-Klasse. Löst eine Ausnahme aus, wenn sich die aktuelle Position des XAML-Knotendatenstroms nicht in einem Bereich befindet, in dem ein Startobjekt geschrieben werden kann, oder der Writer sich nicht in einem Zustand befindet, in dem ein Startobjekt geschrieben werden kann. (Überschreibt XamlWriter.WriteStartObject(XamlType).)
Öffentliche MethodeWriteValueSchreibt einen XAML-Wertknoten in die zugrunde liegende XmlWriter- oder TextWriter-Klasse. Löst eine Ausnahme aus, wenn die aktuelle Position des XAML-Knotenstreams für das Schreiben eines Werts ungültig ist oder der Writer sich in einem Zustand befindet, in dem ein Wert nicht geschrieben werden kann. (Überschreibt XamlWriter.WriteValue(Object).)
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeIDisposable.DisposeInfrastruktur. Weitere Informationen finden Sie unter Dispose. (Von XamlWriter geerbt.)
Zum Seitenanfang

Diese Klasse wird in der Regel in Serialisierungsszenarien verwendet.

Verwenden von XamlXmlWriter

Die XamlWriter-API verfügt über mehrere Methoden, die andere Typen von XAML-Knoten schreiben. Zusammen werden diese in der Dokumentation als die Write-Methoden eines XamlWriter bezeichnet. XamlXmlWriter verwendet mehreren internen Zustandsklassen, um zu bestimmen, was getan werden soll, wenn eine ihrer Write-Implementierungen aufgerufen wird. Ein Write-Aufruf verwendet die Zustände, um zu bestimmen, ob das angeforderte Element, Attribut oder der angeforderte Wert geschrieben werden können, oder ob eine Ausnahme ausgelöst wird. Wenn Sie z. B. WriteEndObject aufrufen und der Zustand der aktuellen XamlXmlWriter-Knotenposition auf einem Wert oder innerhalb eines Members liegt, dann wird eine Ausnahme ausgelöst. In der Regel sollten Aufrufer der XamlXmlWriter-API den Typ des aktuellen XAML-Knotens beachten, der vom XAML-Reader und dem XAML-Knotenstream kommt. Auf der Grundlage dieses Wissens sollten Aufrufer vermeiden, Write-APIs aufzurufen, die für den aktuellen Knotentyp nicht relevant sind.

XAML-Namespaces und XamlXmlWriter

Das XAML-Namespaceschreibverhalten von XamlXmlWriter ist komplex und ist nicht auf explizite Aufrufe von WriteNamespace beschränkt. Stattdessen ist für andere Write-Aufrufe, z. B. WriteStartObject, erforderlich, dass die Namespacedeklaration an bestimmten Punkten in die Knotenstruktur geschrieben wird. Der XAML-Writer generiert entweder durch eine eigene Logik ein Präfix oder verwendet Informationen vom INamespacePrefixLookup-Dienst, um ein bevorzugtes Präfix zu bestimmen. Auch könnten explizite WriteNamespace-Aufrufe die Ausgabe verzögern oder nichts zurückgeben, wenn die XAML-Namespacedeklaration bereits anwendbar und woanders deklariert ist.

Schreiben von Methodenausnahmen

Von den XamlXmlWriter-Write-Methoden ausgelöste Ausnahmen sind in der Regel entweder InvalidOperationException oder XamlXmlWriterException.

Ein InvalidOperationException gibt oft an, dass ein XAML-Reader eine ungültige Knotenstruktur in den XAML-Knotenstream übergeben hat. In diesem Fall ist die Knotenstruktur aus Gründen ungültig, die sich nicht auf Validierung eines XAML-Schemas oder eines XAML-Schemakontexts beziehen. Eher ist der Knotenstream in seiner grundlegenden Form ungültig. Wenn zum Beispiel eine fehlerhafte XAML-Readerimplementierung einen XAML-Knotenstream generierte, der zwei aufeinander folgende StartObject-Knoten enthielt, würde der Versuch, die zweite WriteStartObject aufzurufen, einen InvalidOperationException auslösen. Alle XAML-Writer würden so einen Vorgang als ungültig betrachten. Ein weiteres Beispiel eines InvalidOperationException-Elements ist, wenn keine XAML-Namespaceinformationen durch den XAML-Schemakontext verfügbar sind, der für die aktuelle Knotenstreamposition gilt.

Ein XamlXmlWriterException-Element gibt eine Ausnahme an, wo diese bestimmte XAML-Writerimplementierung auf der Grundlage seiner beabsichtigten Funktionalität eine Ausnahme auslöst. Ein XamlXmlWriterException kann bestimmte Fälle angeben, wo ein XamlXmlWriter-Element gegen einen eigenen Zustand oder Einstellungen verstößt. Ein XamlXmlWriterException könnte sich z. B. aus Versuchen ergeben, XAML-Namespaceinformationen in eine Position zu schreiben, die der XamlXmlWriter und sein Serialisierungsformat nicht unterstützen, oder doppelte Member zu schreiben, wenn XamlXmlWriterSettings der Instanz es verbietet.

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Unterstützt in: 4

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft