XamlXmlWriter Klasse

Definition

Verwendet eine TextWriter-Hilfsklasse oder eine XmlWriter-Hilfsklasse, um einen XAML-Knotenstream in ein mit Text oder Markup serialisiertes Formular zu schreiben.Uses a TextWriter or XmlWriter support class to write a XAML node stream to a text or markup serialized form.

public ref class XamlXmlWriter : System::Xaml::XamlWriter
public class XamlXmlWriter : System.Xaml.XamlWriter
type XamlXmlWriter = class
    inherit XamlWriter
Public Class XamlXmlWriter
Inherits XamlWriter
Vererbung
XamlXmlWriter

Hinweise

Diese Klasse wird in der Regel in Serialisierungsszenarien verwendet.This class is typically used in serialization scenarios.

Verwenden von XamlXmlWriterHow to Use XamlXmlWriter

Die XamlWriter API verfügt über mehrere Methoden, die verschiedene Typen von XAML-Knoten schreiben.The XamlWriter API has several methods that write different types of XAML nodes. Gemeinsam werden diese in der-Dokumentation als die- Write Methoden einer bezeichnet XamlWriter .Collectively, these are referred to in documentation as the Write methods of a XamlWriter. XamlXmlWriter verwendet mehrere interne Zustands Klassen, um zu bestimmen, was zu tun ist, wenn eine Ihrer Write Implementierungen aufgerufen wird.XamlXmlWriter uses several internal state classes to determine what to do when one of its Write implementations is called. Ein- Write Rückruf verwendet die Zustände, um zu bestimmen, ob das angeforderte Element, das Attribut oder der Wert geschrieben werden kann oder ob eine Ausnahme ausgelöst wird.A Write call uses the states to determine whether the requested element, attribute, or value can be written, or whether an exception is thrown. Wenn Sie z. b. aufzurufen WriteEndObject und sich der Status der XamlXmlWriter aktuellen Knoten Position auf einem Wert oder innerhalb eines Members befindet, wird eine Ausnahme ausgelöst.For example, if you call WriteEndObject and the state of the XamlXmlWriter current node position is on a value or within a member, an exception is thrown. In der Regel sollten Aufrufer der XamlXmlWriter API den Typ des aktuellen XAML-Knotens kennen, der vom XAML-Reader und dem XAML-knotenstream stammt.Typically, callers of the XamlXmlWriter API should be aware of the type of the current XAML node that is coming from the XAML reader and the XAML node stream. Basierend auf diesem wissen sollten Aufrufer den Aufruf von APIs vermeiden, die Write für den aktuellen Knotentyp nicht relevant sind.Based on this knowledge, callers should avoid calling Write APIs that are not relevant to the current node type.

XAML-Namespaces und XamlXmlWriterXAML Namespaces and XamlXmlWriter

Das Schreiben von XAML-Namespace von XamlXmlWriter ist komplex und nicht auf explizite Aufrufe von beschränkt WriteNamespace .The XAML namespace writing behavior of XamlXmlWriter is complex and is not limited to explicit calls to WriteNamespace. Stattdessen können andere Write Aufrufe, wie z WriteStartObject . b., erfordern, dass die Namespace Deklaration an bestimmten Punkten in der Knoten Struktur geschrieben wird.Instead, other Write calls, such as WriteStartObject, might require that the namespace declaration be written at particular points in the node structure. Der XAML-Writer generiert entweder ein Präfix anhand seiner eigenen Logik oder verwendet Informationen aus dem INamespacePrefixLookup Dienst, um ein bevorzugtes Präfix zu bestimmen.The XAML writer either generates a prefix by its own logic, or uses information from the INamespacePrefixLookup service to determine a preferred prefix. Explizite WriteNamespace Aufrufe können ebenfalls zurückstellen oder nichts zurückgeben, wenn die XAML-Namespace Deklaration bereits anwendbar und an anderer Stelle deklariert ist.Also, explicit WriteNamespace calls might defer or might return nothing if the XAML namespace declaration is already applicable and declared elsewhere.

Methoden Ausnahmen schreibenWrite Method Exceptions

Ausnahmen, die von den- XamlXmlWriter Write Methoden ausgelöst werden, sind normalerweise InvalidOperationException oder XamlXmlWriterException .Exceptions thrown by the XamlXmlWriterWrite methods are typically either InvalidOperationException or XamlXmlWriterException.

InvalidOperationExceptionGibt häufig an, dass ein XAML-Reader eine ungültige Knoten Struktur in den XAML-knotenstream übertragen hat.An InvalidOperationException often indicates that a XAML reader passed an invalid node structure into the XAML node stream. In diesem Fall ist die Knoten Struktur aus Gründen ungültig, die nicht mit der Validierung eines XAML-Schemas oder eines XAML-Schema Kontexts verknüpft sind.In this case the node structure is invalid for reasons that are not related to validation of a XAML schema or a XAML schema context. Stattdessen ist der knotenstream in der Basis Form ungültig.Rather, the node stream is invalid in its basic form. Wenn z. b. eine fehlerhafte XAML-Readerimplementierung einen XAML-knotenstream generiert hat, der zwei aufeinander folgende StartObject Knoten enthielt, löst der Versuch, den zweiten aufzurufen, WriteStartObject eine aus InvalidOperationException .For example, if a faulty XAML reader implementation generated a XAML node stream that contained two consecutive StartObject nodes, the attempt to call the second WriteStartObject would throw an InvalidOperationException. Alle XAML-Writer würden einen ungültigen Vorgang in Erwägung gezogen.All XAML writers would consider such an operation to be invalid. Ein weiteres Beispiel für InvalidOperationException ist, wenn XAML-Namespace Informationen über den XAML-Schema Kontext nicht verfügbar sind, der für die aktuelle knotenstreamposition gilt.Another example of an InvalidOperationException is when XAML namespace information is unavailable through the XAML schema context that applies to the current node stream position.

Ein XamlXmlWriterException gibt eine Ausnahme an, bei der diese bestimmte XAML-Writer-Implementierung eine Ausnahme basierend auf der vorgesehenen Funktionalität auslösen soll.A XamlXmlWriterException indicates an exception where this particular XAML writer implementation chooses to throw an exception based on its intended functionality. Ein XamlXmlWriterException kann bestimmte Fälle angeben, in denen eine XamlXmlWriter den eigenen Zustand oder die eigenen Einstellungen verletzt.A XamlXmlWriterException can indicate specific cases where a XamlXmlWriter violates its own state or settings. Beispielsweise kann eine XamlXmlWriterException von versuchen, XAML-Namespace Informationen in eine Position zu schreiben, die von und dem zugehörigen XamlXmlWriter Serialisierungsformat nicht unterstützt wird, oder das Schreiben doppelter Elemente, wenn Sie von der Instanz geerbt wird XamlXmlWriterSettings .For example, a XamlXmlWriterException might result from attempts to write XAML namespace information into a position that the XamlXmlWriter and its serialization format do not support, or writing duplicate members when the instance's XamlXmlWriterSettings forbid it.

Konstruktoren

XamlXmlWriter(Stream, XamlSchemaContext)

Initialisiert eine neue Instanz der XamlXmlWriter-Klasse aus einem Datenstrom.Initializes a new instance of the XamlXmlWriter class from a stream.

XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings)

Initialisiert eine neue Instanz der XamlXmlWriter-Klasse aus einem Datenstrom mithilfe eines Writer-Einstellungsobjekts.Initializes a new instance of the XamlXmlWriter class from a stream using a writer settings object.

XamlXmlWriter(TextWriter, XamlSchemaContext)

Initialisiert eine neue Instanz der XamlXmlWriter-Klasse aus einer TextWriter-Basis.Initializes a new instance of the XamlXmlWriter class from a TextWriter basis.

XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings)

Initialisiert eine neue Instanz der XamlXmlWriter-Klasse aus einer TextWriter-Basis mithilfe eines Einstellungsobjekts.Initializes a new instance of the XamlXmlWriter class from a TextWriter basis using a settings object.

XamlXmlWriter(XmlWriter, XamlSchemaContext)

Initialisiert eine neue Instanz der XamlXmlWriter-Klasse aus einer XmlWriter-Basis.Initializes a new instance of the XamlXmlWriter class from a XmlWriter basis.

XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings)

Initialisiert eine neue Instanz der XamlXmlWriter-Klasse aus einer XmlWriter-Basis mithilfe eines Einstellungsobjekts.Initializes a new instance of the XamlXmlWriter class from a XmlWriter basis using a settings object.

Eigenschaften

IsDisposed

Ruft ab, ob die Dispose(Boolean)-Methode aufgerufen wurde.Gets whether Dispose(Boolean) has been called.

(Geerbt von XamlWriter)
SchemaContext

Ruft den XAML-Schemakontext ab, der von der XamlXmlWriter-Klasse zur Verarbeitung verwendet wird.Gets the XAML schema context that this XamlXmlWriter uses for processing.

Settings

Ruft die Writereinstellungen ab, die von der XamlXmlWriter-Klasse zur XAML-Verarbeitung verwendet werden.Gets the writer settings that this XamlXmlWriter uses for XAML processing.

Methoden

Close()

Schließt das XAML-Writerobjekt.Closes the XAML writer object.

(Geerbt von XamlWriter)
Dispose(Boolean)

Gibt die von der XamlXmlWriter-Klasse verwendeten nicht verwalteten Ressourcen und optional auch die verwalteten Ressourcen frei.Releases the unmanaged resources used by XamlXmlWriter and optionally releases the managed resources.

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
Flush()

Ruft 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.Calls the Flush method of the underlying XmlWriter or TextWriter, which writes anything that is currently in the buffer, and then closes the writer.

GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)
WriteEndMember()

Schreibt einen XAML-Endmemberknoten in die zugrunde liegende XmlWriter- oder TextWriter-Klasse.Writes a XAML end member node to the underlying XmlWriter or TextWriter. 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.Throws an exception if the current position of the XAML node stream is not within a member, or if the internal writer state does not support writing to an end member.

WriteEndObject()

Schreibt einen XAML-Endobjektknoten in die zugrunde liegende XmlWriter- oder TextWriter-Klasse.Writes a XAML end object node to the underlying XmlWriter or TextWriter. Löst eine Ausnahme aus, wenn die aktuelle Position des XAML-Knotenstreams, die verarbeitet wird, nicht mit dem Schreiben eines Endobjekts kompatibel ist.Throws an exception if the current position of the XAML node stream that is being processed is incompatible with writing an end object.

WriteGetObject()

Schreibt 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.Writes an object for cases where the specified object is a default or implicit value of the property that is being written, instead of being specified as an object value in the input XAML node set.

WriteNamespace(NamespaceDeclaration)

Schreibt Namespaceinformationen in die zugrunde liegende XmlWriter- oder TextWriter-Klasse.Writes namespace information to the underlying XmlWriter or TextWriter. 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.May throw an exception for certain states; however, may instead defer writing the namespace information until the writer and the XAML node stream that is being processed reaches a position where a XAML namespace declaration can be inserted.

WriteNode(XamlReader)

Führt eine Umschaltung auf Grundlage des Knotentyps des XAML-Readers aus (NodeType) und ruft die relevante Write-Methode für die Writerimplementierung auf.Performs switching based on node type from the XAML reader (NodeType) and calls the relevant Write method for the writer implementation.

(Geerbt von XamlWriter)
WriteStartMember(XamlMember)

Schreibt einen XAML-Startmemberknoten in die zugrunde liegende XmlWriter- oder TextWriter-Klasse.Writes a XAML start member node to the underlying XmlWriter or TextWriter. 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.Throws an exception if the current position of the XAML node stream is within another member, or if it is not in a scope or writer state where a start member can be written.

WriteStartObject(XamlType)

Schreibt einen XAML-Startobjektknoten in die zugrunde liegende XmlWriter- oder TextWriter-Klasse.Writes a XAML start object node to the underlying XmlWriter or TextWriter. 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.Throws an exception if the current position of the XAML node stream is not in a scope where a start object can be written, or if the writer is not in a state that can write a start object.

WriteValue(Object)

Schreibt einen XAML-Wertknoten in die zugrunde liegende XmlWriter- oder TextWriter-Klasse.Writes a XAML value node to the underlying XmlWriter or TextWriter. 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.Throws an exception if the current position of the XAML node stream is invalid for writing a value, or the writer is in a state where a value cannot be written.

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Siehe Dispose().See Dispose().

(Geerbt von XamlWriter)

Gilt für:

Weitere Informationen