XamlXmlWriter Class

Definition

TextWriter 또는 XmlWriter 지원 클래스를 사용하여 XAML 노드 스트림을 텍스트 또는 태그 serialize된 양식에 씁니다.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
Inheritance
XamlXmlWriter

Remarks

이 클래스는 serialization 시나리오에서 일반적으로 사용 됩니다.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 때 수행할 작업을 결정 하려면 몇 가지 내부 상태 클래스를 사용 중 해당 Write 구현이 호출 됩니다.XamlXmlWriter uses several internal state classes to determine what to do when one of its Write implementations is called. Write 호출 상태를 사용 하 여 여부 요청 된 요소, 특성 또는 값을 작성할 수 있습니다, 또는 예외가 throw 되는 여부를 결정 합니다.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 현재 노드 위치는 값 또는 멤버 내에서 예외가 throw 됩니다.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. 이 기술에 따라 호출자에 게 호출 하지 않아야 Write 현재 노드 형식에 관련 되지 않은 Api.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

throw 된 예외는 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 판독기 구현에는 두 개의 연속를 포함 하는 XAML 노드 스트림을 생성 하는 경우 StartObject 노드를 두 번째 호출 하려는 시도가 WriteStartObject throw는 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.

XamlXmlWriterException 예외는 의도 한 기능을 기반으로 예외를 throw 하려면이 특정 XAML 작성기 구현 선택 하는 위치를 나타냅니다.A XamlXmlWriterException indicates an exception where this particular XAML writer implementation chooses to throw an exception based on its intended functionality. A XamlXmlWriterException 특정 한 경우를 나타낼 수 있습니다 위치를 XamlXmlWriter 자체 상태나 설정을 위반 합니다.A XamlXmlWriterException can indicate specific cases where a XamlXmlWriter violates its own state or settings. 예를 들어를 XamlXmlWriterException 위치에 XAML 네임 스페이스 정보 쓰기 시도로 인해 발생할 수는 XamlXmlWriter serialization 형식이 하지 지원 또는 중복 된 멤버를 작성 경우 인스턴스의 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.

Constructors

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.

Properties

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.

Methods

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()

기본 Flush 또는 XmlWriterTextWriter 메서드를 호출합니다. 이 메서드는 현재 버퍼에 있는 모든 내용을 쓴 후에 작성기를 닫습니다.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 노드 스트림의 현재 위치가 멤버 내에 없거나 내부 작성기 상태가 끝 멤버에 쓰는 작업을 지원하지 않으면 예외를 throw합니다.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 노드 스트림의 현재 위치가 끝 개체 쓰기와 호환되지 않으면 예외를 throw합니다.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. 특정 상태에 대해 예외를 throw할 수도 있지만, 그 대신에 작성기 및 처리 중인 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 노드 스트림의 현재 위치가 다른 멤버 내에 있거나 시작 멤버를 쓸 수 있는 범위나 작성기 상태에 있지 않으면 예외를 throw합니다.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 노드 스트림의 현재 위치가 시작 개체를 쓸 수 있는 범위에 없거나 작성기가 시작 개체를 쓸 수 있는 상태에 있지 않으면 예외를 throw합니다.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 노드 스트림의 현재 위치가 값을 쓰기에 올바른 위치가 아니거나 작성기가 값을 쓸 수 없는 상태에 있으면 예외를 throw합니다.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.

Explicit Interface Implementations

IDisposable.Dispose()

Dispose()을 참조하세요.See Dispose().

(Inherited from XamlWriter)

Applies to

See also