XamlXmlWriter Classe

Definição

Usa uma classe de suporte TextWriter ou XmlWriter para gravar um fluxo do nó XAML em um formulário serializado de texto ou marcação.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
Herança
XamlXmlWriter

Comentários

Essa classe normalmente é usada em cenários de serialização.This class is typically used in serialization scenarios.

Como usar o XamlXmlWriterHow to Use XamlXmlWriter

A XamlWriter API tem vários métodos que gravam tipos diferentes de nós XAML.The XamlWriter API has several methods that write different types of XAML nodes. Coletivamente, eles são referidos na documentação como os Write métodos de um. XamlWriterCollectively, these are referred to in documentation as the Write methods of a XamlWriter. XamlXmlWriterusa várias classes de estado interno para determinar o que fazer quando uma de Write suas implementações é chamada.XamlXmlWriter uses several internal state classes to determine what to do when one of its Write implementations is called. Uma Write chamada usa os Estados para determinar se o elemento, atributo ou valor solicitado pode ser gravado ou se uma exceção é lançada.A Write call uses the states to determine whether the requested element, attribute, or value can be written, or whether an exception is thrown. Por exemplo, se você chamar WriteEndObject e o estado XamlXmlWriter da posição do nó atual estiver em um valor ou em um membro, uma exceção será lançada.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. Normalmente, os XamlXmlWriter chamadores da API devem estar cientes do tipo do nó XAML atual que é proveniente do leitor XAML e do fluxo do nó 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. Com base nesse conhecimento, os chamadores devem evitar Write chamar APIs que não são relevantes para o tipo de nó atual.Based on this knowledge, callers should avoid calling Write APIs that are not relevant to the current node type.

Namespaces XAML e XamlXmlWriterXAML Namespaces and XamlXmlWriter

O comportamento de gravação do namespace XamlXmlWriter XAML do é complexo e não está limitado a chamadas WriteNamespaceexplícitas para.The XAML namespace writing behavior of XamlXmlWriter is complex and is not limited to explicit calls to WriteNamespace. Em vez disso Write , outras chamadas, WriteStartObjectcomo, podem exigir que a declaração de namespace seja gravada em determinados pontos na estrutura do nó.Instead, other Write calls, such as WriteStartObject, might require that the namespace declaration be written at particular points in the node structure. O gravador XAML gera um prefixo por sua própria lógica ou usa informações do INamespacePrefixLookup serviço para determinar um prefixo preferencial.The XAML writer either generates a prefix by its own logic, or uses information from the INamespacePrefixLookup service to determine a preferred prefix. Além disso, WriteNamespace chamadas explícitas podem adiar ou podem não retornar nada se a declaração do namespace XAML já for aplicável e declarada em outro lugar.Also, explicit WriteNamespace calls might defer or might return nothing if the XAML namespace declaration is already applicable and declared elsewhere.

Gravar exceções de métodoWrite Method Exceptions

As XamlXmlWriter InvalidOperationException XamlXmlWriterExceptionexceções geradas pelos métodos normalmente são ou. WriteExceptions thrown by the XamlXmlWriterWrite methods are typically either InvalidOperationException or XamlXmlWriterException.

InvalidOperationException Geralmente indica que um leitor XAML passou uma estrutura de nó inválida para o fluxo do nó XAML.An InvalidOperationException often indicates that a XAML reader passed an invalid node structure into the XAML node stream. Nesse caso, a estrutura do nó é inválida por motivos que não estão relacionados à validação de um esquema XAML ou a um contexto de esquema 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. Em vez disso, o fluxo do nó é inválido em seu formato básico.Rather, the node stream is invalid in its basic form. Por exemplo, se uma implementação de leitor XAML com falha gerou um fluxo de nó XAML que continha dois nós consecutivos StartObject , a tentativa de chamar o segundo WriteStartObject geraria um 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. Todos os gravadores XAML consideram uma operação como inválida.All XAML writers would consider such an operation to be invalid. Outro exemplo de um InvalidOperationException é quando as informações do namespace XAML não estão disponíveis por meio do contexto do esquema XAML que se aplica à posição atual do fluxo do nó.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.

Um XamlXmlWriterException indica uma exceção em que essa implementação do gravador XAML particular escolhe lançar uma exceção com base em sua funcionalidade pretendida.A XamlXmlWriterException indicates an exception where this particular XAML writer implementation chooses to throw an exception based on its intended functionality. Um XamlXmlWriterException pode indicar casos específicos em que XamlXmlWriter um viola seu próprio Estado ou configurações.A XamlXmlWriterException can indicate specific cases where a XamlXmlWriter violates its own state or settings. Por exemplo, um XamlXmlWriterException pode resultar de tentativas de gravar informações de namespace XAML em uma posição que XamlXmlWriter o e seu formato de serialização não dão suporte ou gravando XamlXmlWriterSettings membros duplicados quando a instância proíbe.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.

Construtores

XamlXmlWriter(Stream, XamlSchemaContext)

Inicializa uma nova instância da classe XamlXmlWriter de um fluxo.Initializes a new instance of the XamlXmlWriter class from a stream.

XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings)

Inicializa uma nova instância da classe XamlXmlWriter de um fluxo usando um objeto de configurações do gravador.Initializes a new instance of the XamlXmlWriter class from a stream using a writer settings object.

XamlXmlWriter(TextWriter, XamlSchemaContext)

Inicializa uma nova instância da classe XamlXmlWriter de uma base TextWriter.Initializes a new instance of the XamlXmlWriter class from a TextWriter basis.

XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings)

Inicializa uma nova instância da classe XamlXmlWriter de uma base TextWriter usando um objeto de configurações.Initializes a new instance of the XamlXmlWriter class from a TextWriter basis using a settings object.

XamlXmlWriter(XmlWriter, XamlSchemaContext)

Inicializa uma nova instância da classe XamlXmlWriter de uma base XmlWriter.Initializes a new instance of the XamlXmlWriter class from a XmlWriter basis.

XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings)

Inicializa uma nova instância da classe XamlXmlWriter de uma base XmlWriter usando um objeto de configurações.Initializes a new instance of the XamlXmlWriter class from a XmlWriter basis using a settings object.

Propriedades

IsDisposed

Obtém se Dispose(Boolean) foi chamado.Gets whether Dispose(Boolean) has been called.

(Herdado de XamlWriter)
SchemaContext

Obtém o contexto do esquema XAML que esse XamlXmlWriter usa para processamento.Gets the XAML schema context that this XamlXmlWriter uses for processing.

Settings

Obtém as configurações do gravador que esse XamlXmlWriter usa para processamento de XAML.Gets the writer settings that this XamlXmlWriter uses for XAML processing.

Métodos

Close()

Fecha o objeto do gravador de XAML.Closes the XAML writer object.

(Herdado de XamlWriter)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo XamlXmlWriter e, opcionalmente, libera os recursos gerenciados.Releases the unmanaged resources used by XamlXmlWriter and optionally releases the managed resources.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
Flush()

Chama o método Flush do XmlWriter ou TextWriter subjacente, que grava tudo o que está no buffer no momento e, em seguida, fecha o gravador.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()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)
WriteEndMember()

Grava um nó de membro final XAML no XmlWriter ou TextWriter subjacente.Writes a XAML end member node to the underlying XmlWriter or TextWriter. Gera uma exceção se a posição atual do fluxo do nó XAML não estiver dentro de um membro ou se o estado do gravador interno não for compatível com a gravação a de um membro final.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()

Grava um nó de objeto final XAML no XmlWriter ou TextWriter subjacente.Writes a XAML end object node to the underlying XmlWriter or TextWriter. Gera uma exceção se a posição atual do fluxo do nó XAML que está sendo processada é incompatível com a gravação de um objeto final.Throws an exception if the current position of the XAML node stream that is being processed is incompatible with writing an end object.

WriteGetObject()

Grava um objeto para casos em que o objeto especificado é um valor padrão ou implícito da propriedade que está sendo gravada, em vez de ser especificada como um valor de objeto no conjunto de nó XAML de entrada.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)

Grava informações de namespace no XmlWriter ou TextWriter subjacente.Writes namespace information to the underlying XmlWriter or TextWriter. Pode gerar uma exceção para determinados estados, no entanto, pode, em vez disso, adiar a gravação das informações de namespace até que o gravador e o fluxo do nó XAML que está sendo processado atinjam uma posição em que uma declaração de namespace XAML possa ser inserida.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)

Executa a comutação com base no tipo de nó do leitor de XAML (NodeType) e chama o método Write relevante para a implementação de gravador.Performs switching based on node type from the XAML reader (NodeType) and calls the relevant Write method for the writer implementation.

(Herdado de XamlWriter)
WriteStartMember(XamlMember)

Grava um nó de membro inicial XAML no XmlWriter ou TextWriter subjacente.Writes a XAML start member node to the underlying XmlWriter or TextWriter. Gera uma exceção se a posição atual do fluxo do nó XAML estiver dentro de outro membro ou se ele não estiver em um estado de escopo ou gravador em que um membro inicial pode ser gravado.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)

Grava um nó de objeto inicial XAML no XmlWriter ou TextWriter subjacente.Writes a XAML start object node to the underlying XmlWriter or TextWriter. Gera uma exceção se a posição atual do fluxo do nó XAML não está em um escopo em que um objeto inicial pode ser gravado ou se o gravador não está em um estado que pode gravar um objeto inicial.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)

Grava um nó de valor XAML no XmlWriter ou TextWriter subjacente.Writes a XAML value node to the underlying XmlWriter or TextWriter. Gera uma exceção se a posição atual do fluxo do nó XAML for inválida para gravar um valor ou o gravador está em um estado em que não é possível gravar um valor.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.

Implantações explícitas de interface

IDisposable.Dispose()

Consulte Dispose().See Dispose().

(Herdado de XamlWriter)

Aplica-se a

Veja também