XamlXmlWriter Class

定義

TextWriter または XmlWriter サポート クラスを使用して、XAML ノード ストリームをテキストまたはマークアップのシリアル化形式に書き込みます。 Uses a TextWriter or XmlWriter support class to write a XAML node stream to a text or markup serialized form.

public class XamlXmlWriter : System.Xaml.XamlWriter
継承
XamlXmlWriter

注釈

このクラスは通常、シリアル化のシナリオで使用します。This class is typically used in serialization scenarios.

XamlXmlWriter を使用する方法How to Use XamlXmlWriter

XamlWriter API がさまざまな種類の XAML ノードを書き込むことがいくつかのメソッドにあります。The XamlWriter API has several methods that write different types of XAML nodes. 、これらは総称としてドキュメントに、Writeのメソッド、XamlWriterします。Collectively, these are referred to in documentation as the Write methods of a XamlWriter. XamlXmlWriter いくつかの内部状態クラスを使用して、決定した場合の対処の 1 つそのWrite実装が呼び出されます。XamlXmlWriter uses several internal state classes to determine what to do when one of its Write implementations is called. AWrite呼び出しで状態を使用してかどうか、要求された要素、属性、または値を記述することができます、または例外がスローされたかどうかを判断します。A Write call uses the states to determine whether the requested element, attribute, or value can be written, or whether an exception is thrown. 呼び出す場合など、WriteEndObjectとの状態、XamlXmlWriter現在のノードの位置が値またはメンバー内には、例外がスローされます。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. 通常の呼び出し元、 XamlXmlWriter API は、XAML リーダーと XAML ノード ストリームから現在の XAML ノードの種類を認識する必要があります。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. この知識に基づいて、呼び出し元は呼び出しを避ける必要がありますWriteApi を現在のノード型には関係ありません。Based on this knowledge, callers should avoid calling Write APIs that are not relevant to the current node type.

XAML 名前空間と XamlXmlWriterXAML Namespaces and XamlXmlWriter

動作を記述する XAML 名前空間XamlXmlWriterは複雑を明示的に呼び出すには限定されませんWriteNamespaceします。The XAML namespace writing behavior of XamlXmlWriter is complex and is not limited to explicit calls to WriteNamespace. 代わりに、その他のWriteなどの呼び出しWriteStartObjectノードの構造内の特定の時点で、名前空間宣言を記述することがあります。Instead, other Write calls, such as WriteStartObject, might require that the namespace declaration be written at particular points in the node structure. XAML ライターが、独自のロジックでプレフィックスを生成またはからの情報を使用して、INamespacePrefixLookup推奨されるプレフィックスを判別するサービス。The XAML writer either generates a prefix by its own logic, or uses information from the INamespacePrefixLookup service to determine a preferred prefix. また、明示的なWriteNamespace呼び出しを延期または何も返すことがあります、XAML 名前空間宣言が既に適用可能で、宣言された他の場所である場合。Also, explicit WriteNamespace calls might defer or might return nothing if the XAML namespace declaration is already applicable and declared elsewhere.

書き込みメソッドの例外Write Method Exceptions

によってスローされた例外、 XamlXmlWriter Writeメソッドは、いずれかでは通常InvalidOperationExceptionまたはXamlXmlWriterExceptionします。Exceptions thrown by the XamlXmlWriterWrite methods are typically either InvalidOperationException or XamlXmlWriterException.

InvalidOperationException多くの場合、XAML リーダーに、XAML ノード ストリームに無効なノードの構造体が渡されることを示します。An InvalidOperationException often indicates that a XAML reader passed an invalid node structure into the XAML node stream. この場合、ノードの構造が無効ですの XAML スキーマまたは XAML スキーマ コンテキストの検証に関連していない理由。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. 代わりに、ノード ストリームは、その基本的な形式では無効です。Rather, the node stream is invalid in its basic form. たとえば、障害のある XAML リーダー実装に含まれている 2 つの連続する XAML ノード ストリームを生成するStartObjectノード、2 つ目の呼び出しWriteStartObjectをスローする、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. すべての XAML ライターでは、無効になるような操作を検討します。All XAML writers would consider such an operation to be invalid. 別の例として、InvalidOperationExceptionは XAML 名前空間の情報が、現在のノード ストリームの位置に適用される XAML スキーマ コンテキストを利用できない場合。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.

AXamlXmlWriterExceptionこの特定の XAML ライターの実装が、目的の機能に基づく例外をスローする選択した例外を示します。A XamlXmlWriterException indicates an exception where this particular XAML writer implementation chooses to throw an exception based on its intended functionality. AXamlXmlWriterException特定のケースを示すことができます、XamlXmlWriter状態またはの設定に違反しています。A XamlXmlWriterException can indicate specific cases where a XamlXmlWriter violates its own state or settings. など、XamlXmlWriterExceptionの位置に XAML 名前空間情報の書き込み試行の結果として可能性がありますをXamlXmlWriterとそのシリアル化形式がないサポート、または重複するメンバーの書き込み時にインスタンスの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.

コンストラクター

XamlXmlWriter(Stream, XamlSchemaContext)

ストリームから XamlXmlWriter クラスの新しいインスタンスを初期化します。 Initializes a new instance of the XamlXmlWriter class from a stream.

XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings)

ライター設定オブジェクトを使用して、ストリームから XamlXmlWriter クラスの新しいインスタンスを初期化します。 Initializes a new instance of the XamlXmlWriter class from a stream using a writer settings object.

XamlXmlWriter(TextWriter, XamlSchemaContext)

XamlXmlWriter を基礎として TextWriter クラスの新しいインスタンスを初期化します。 Initializes a new instance of the XamlXmlWriter class from a TextWriter basis.

XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings)

設定オブジェクトを使用して、XamlXmlWriter を基礎として TextWriter クラスの新しいインスタンスを初期化します。 Initializes a new instance of the XamlXmlWriter class from a TextWriter basis using a settings object.

XamlXmlWriter(XmlWriter, XamlSchemaContext)

XamlXmlWriter を基礎として XmlWriter クラスの新しいインスタンスを初期化します。 Initializes a new instance of the XamlXmlWriter class from a XmlWriter basis.

XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings)

設定オブジェクトを使用して、XamlXmlWriter を基礎として XmlWriter クラスの新しいインスタンスを初期化します。 Initializes a new instance of the XamlXmlWriter class from a XmlWriter basis using a settings object.

プロパティ

IsDisposed

Dispose(Boolean) が呼び出されているかどうかを取得します。 Gets whether Dispose(Boolean) has been called.

(Inherited from XamlWriter)
SchemaContext

この XamlXmlWriter が処理に使用する XAML スキーマ コンテキストを取得します。 Gets the XAML schema context that this XamlXmlWriter uses for processing.

Settings

この XamlXmlWriter が XAML 処理に使用するライター設定を取得します。 Gets the writer settings that this XamlXmlWriter uses for XAML processing.

方法

Close()

XAML ライター オブジェクトを閉じます。 Closes the XAML writer object.

(Inherited from XamlWriter)
Dispose(Boolean)

XamlXmlWriter によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。 Releases the unmanaged resources used by XamlXmlWriter and optionally releases the managed resources.

Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。 Determines whether the specified object is equal to the current object.

(Inherited from Object)
Flush()

基になる XmlWriter または TextWriterFlush メソッドを呼び出します。これにより、現在のバッファーの内容がすべて書き込まれ、ライターが閉じられます。 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()

既定のハッシュ関数として機能します。 Serves as the default hash function.

(Inherited from Object)
GetType()

現在のインスタンスの Type を取得します。 Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。 Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

現在のオブジェクトを表す文字列を返します。 Returns a string that represents the current object.

(Inherited from Object)
WriteEndMember()

基になる XmlWriter または TextWriter に XAML 終了メンバー ノードを書き込みます。 Writes a XAML end member node to the underlying XmlWriter or TextWriter. XAML ノード ストリームの現在位置がメンバー内にない場合、または終了メンバーの書き込みが内部ライター状態でサポートされていない場合は、例外をスローします。 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()

基になる XmlWriter または TextWriter に XAML 終了オブジェクト ノードを書き込みます。 Writes a XAML end object node to the underlying XmlWriter or TextWriter. 処理される XAML ノード ストリームの現在位置に終了オブジェクトの書き込みとの互換性がない場合は、例外をスローします。 Throws an exception if the current position of the XAML node stream that is being processed is incompatible with writing an end object.

WriteGetObject()

指定したオブジェクトが入力 XAML ノード セットでオブジェクト値として指定されているのではなく、書き込まれるプロパティの既定または暗黙の値である場合に、オブジェクトを書き込みます。 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)

基になる XmlWriter または TextWriter に名前空間の情報を書き込みます。 Writes namespace information to the underlying XmlWriter or TextWriter. 特定の状態で例外がスローされる可能性がありますが、例外をスローする代わりに、XAML 名前空間の宣言を挿入できる位置にライターおよび処理される XAML ノード ストリームが到達するまで名前空間情報の書き込みを遅延させる場合があります。 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)

XAML リーダーのノード型 (NodeType) に基づいて切り替えを実行し、ライター実装の関連する Write メソッドを呼び出します。 Performs switching based on node type from the XAML reader (NodeType) and calls the relevant Write method for the writer implementation.

(Inherited from XamlWriter)
WriteStartMember(XamlMember)

基になる XmlWriter または TextWriter に XAML 開始メンバー ノードを書き込みます。 Writes a XAML start member node to the underlying XmlWriter or TextWriter. XAML ノード ストリームの現在位置が別のメンバー内にある場合、または開始メンバーを書き込むことのできるスコープまたはライター状態にない場合は、例外をスローします。 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)

基になる XmlWriter または TextWriter に XAML 開始オブジェクト ノードを書き込みます。 Writes a XAML start object node to the underlying XmlWriter or TextWriter. XAML ノード ストリームの現在位置が開始オブジェクトを書き込むことのできるスコープにない場合、またはライターが開始オブジェクトを書き込むことのできる状態にない場合は、例外をスローします。 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)

基になる XmlWriter または TextWriter に XAML 値ノードを書き込みます。 Writes a XAML value node to the underlying XmlWriter or TextWriter. XAML ノード ストリームの現在位置が値の書き込みに対して無効である場合、またはライターが値を書き込めない状態にある場合は、例外をスローします。 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.

明示的なインターフェイスの実装

IDisposable.Dispose()

以下を参照してください。Dispose() See Dispose().

(Inherited from XamlWriter)

適用対象

こちらもご覧ください