XamlXmlWriter Classe

Definizione

Utilizza una classe di supporto TextWriter o XmlWriter per scrivere un flusso del nodo XAML in un formato serializzato di testo o markup.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
Ereditarietà
XamlXmlWriter

Commenti

Questa classe viene in genere utilizzata negli scenari di serializzazione.This class is typically used in serialization scenarios.

Come usare XamlXmlWriterHow to Use XamlXmlWriter

L' XamlWriter API dispone di diversi metodi che scrivono tipi diversi di nodi XAML.The XamlWriter API has several methods that write different types of XAML nodes. Collettivamente, questi sono indicati nella documentazione come Write metodi di un. XamlWriterCollectively, these are referred to in documentation as the Write methods of a XamlWriter. XamlXmlWriterUSA diverse classi di stato interne per determinare le operazioni da eseguire quando viene Write chiamata una delle relative implementazioni.XamlXmlWriter uses several internal state classes to determine what to do when one of its Write implementations is called. Una Write chiamata utilizza gli Stati per determinare se è possibile scrivere l'elemento, l'attributo o il valore richiesto o se viene generata un'eccezione.A Write call uses the states to determine whether the requested element, attribute, or value can be written, or whether an exception is thrown. Se, ad esempio, si WriteEndObject chiama e lo stato XamlXmlWriter della posizione corrente del nodo si trova su un valore o all'interno di un membro, viene generata un'eccezione.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 genere, i chiamanti XamlXmlWriter dell'API devono conoscere il tipo del nodo XAML corrente proveniente dal reader XAML e il flusso del nodo 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. In base a queste informazioni, i chiamanti devono Write evitare di chiamare API che non sono rilevanti per il tipo di nodo corrente.Based on this knowledge, callers should avoid calling Write APIs that are not relevant to the current node type.

Spazi dei nomi XAML e XamlXmlWriterXAML Namespaces and XamlXmlWriter

Il comportamento di scrittura dello spazio XamlXmlWriter dei nomi XAML di è complesso e non è limitato WriteNamespacealle chiamate esplicite a.The XAML namespace writing behavior of XamlXmlWriter is complex and is not limited to explicit calls to WriteNamespace. Per altre Write chiamate, WriteStartObjectad esempio, potrebbe essere necessario che la dichiarazione dello spazio dei nomi venga scritta in determinati punti della struttura del nodo.Instead, other Write calls, such as WriteStartObject, might require that the namespace declaration be written at particular points in the node structure. Il writer XAML genera un prefisso in base alla propria logica oppure utilizza le informazioni del INamespacePrefixLookup servizio per determinare un prefisso preferito.The XAML writer either generates a prefix by its own logic, or uses information from the INamespacePrefixLookup service to determine a preferred prefix. Inoltre, le WriteNamespace chiamate esplicite potrebbero rinviare o non restituire nulla se la dichiarazione dello spazio dei nomi XAML è già applicabile e dichiarata altrove.Also, explicit WriteNamespace calls might defer or might return nothing if the XAML namespace declaration is already applicable and declared elsewhere.

Eccezioni del metodo WriteWrite Method Exceptions

Le XamlXmlWriter InvalidOperationException XamlXmlWriterExceptioneccezioni generatedaimetodisonoingenereo.WriteExceptions thrown by the XamlXmlWriterWrite methods are typically either InvalidOperationException or XamlXmlWriterException.

InvalidOperationException Spesso indica che un reader XAML ha passato una struttura di nodo non valida nel flusso del nodo XAML.An InvalidOperationException often indicates that a XAML reader passed an invalid node structure into the XAML node stream. In questo caso la struttura del nodo non è valida per motivi non correlati alla convalida di uno schema XAML o di un contesto dello schema 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. Il flusso del nodo non è invece valido nel form di base.Rather, the node stream is invalid in its basic form. Se, ad esempio, un'implementazione del reader XAML non funzionante genera un flusso di nodi XAML che StartObject contiene due nodi consecutivi, il tentativo WriteStartObject di chiamare il InvalidOperationExceptionsecondo genererebbe un'eccezione.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. Tutti i writer XAML considerano tale operazione non valida.All XAML writers would consider such an operation to be invalid. Un altro esempio di InvalidOperationException è quando le informazioni sullo spazio dei nomi XAML non sono disponibili tramite il contesto dello schema XAML applicabile alla posizione corrente del flusso del nodo.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.

Un XamlXmlWriterException oggetto indica un'eccezione in cui questa particolare implementazione del writer XAML sceglie di generare un'eccezione in base alla relativa funzionalità prevista.A XamlXmlWriterException indicates an exception where this particular XAML writer implementation chooses to throw an exception based on its intended functionality. Un XamlXmlWriterException oggetto può indicare casi specifici in XamlXmlWriter cui un oggetto viola il proprio stato o le proprie impostazioni.A XamlXmlWriterException can indicate specific cases where a XamlXmlWriter violates its own state or settings. Ad esempio, un XamlXmlWriterException potrebbe derivare da tentativi di scrivere informazioni sullo spazio dei nomi XAML XamlXmlWriter in una posizione che non è supportata da e dal formato di serializzazione o dalla XamlXmlWriterSettings scrittura di membri duplicati quando l'istanza lo impedisce.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.

Costruttori

XamlXmlWriter(Stream, XamlSchemaContext)

Inizializza una nuova istanza della classe XamlXmlWriter da un flusso.Initializes a new instance of the XamlXmlWriter class from a stream.

XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings)

Inizializza una nuova istanza della classe XamlXmlWriter da un flusso utilizzando un oggetto impostazioni del writer.Initializes a new instance of the XamlXmlWriter class from a stream using a writer settings object.

XamlXmlWriter(TextWriter, XamlSchemaContext)

Inizializza una nuova istanza della classe XamlXmlWriter sulla base di un oggetto TextWriter.Initializes a new instance of the XamlXmlWriter class from a TextWriter basis.

XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings)

Inizializza una nuova istanza della classe XamlXmlWriter sulla base di un oggetto TextWriter utilizzando un oggetto impostazioni.Initializes a new instance of the XamlXmlWriter class from a TextWriter basis using a settings object.

XamlXmlWriter(XmlWriter, XamlSchemaContext)

Inizializza una nuova istanza della classe XamlXmlWriter sulla base di un oggetto XmlWriter.Initializes a new instance of the XamlXmlWriter class from a XmlWriter basis.

XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings)

Inizializza una nuova istanza della classe XamlXmlWriter sulla base di un oggetto XmlWriter utilizzando un oggetto impostazioni.Initializes a new instance of the XamlXmlWriter class from a XmlWriter basis using a settings object.

Proprietà

IsDisposed

Ottiene un valore che indica se Dispose(Boolean) è stato chiamato.Gets whether Dispose(Boolean) has been called.

(Ereditato da XamlWriter)
SchemaContext

Ottiene il contesto dello schema XAML utilizzato dall'oggetto XamlXmlWriter per l'elaborazione.Gets the XAML schema context that this XamlXmlWriter uses for processing.

Settings

Ottiene le impostazioni del writer utilizzate dall'oggetto XamlXmlWriter per l'elaborazione XAML.Gets the writer settings that this XamlXmlWriter uses for XAML processing.

Metodi

Close()

Chiude l'oggetto writer XAML.Closes the XAML writer object.

(Ereditato da XamlWriter)
Dispose(Boolean)

Rilascia le risorse non gestite utilizzate dall'oggetto XamlXmlWriter e facoltativamente le risorse gestite.Releases the unmanaged resources used by XamlXmlWriter and optionally releases the managed resources.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
Flush()

Chiama il metodo Flush dell'oggetto XmlWriter o TextWriter sottostante che scrive tutti gli elementi attualmente presenti nel buffer chiudendo poi il writer.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()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)
WriteEndMember()

Scrive un nodo membro XAML finale nell'oggetto XmlWriter o TextWriter sottostante.Writes a XAML end member node to the underlying XmlWriter or TextWriter. Genera un'eccezione se la posizione corrente del flusso del nodo XAML non è all'interno di un membro o se lo stato del writer interno non supporta la scrittura di un membro finale.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()

Scrive un nodo oggetto XAML finale nell'oggetto XmlWriter o TextWriter sottostante.Writes a XAML end object node to the underlying XmlWriter or TextWriter. Genera un'eccezione se la posizione corrente del flusso del nodo XAML in elaborazione è incompatibile con la scrittura di un oggetto finale.Throws an exception if the current position of the XAML node stream that is being processed is incompatible with writing an end object.

WriteGetObject()

Scrive un oggetto per i casi in cui l'oggetto specificato è un valore predefinito o implicito della proprietà da scrivere, anziché un valore da specificare come valore dell'oggetto nel set di nodi XAML di input.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)

Scrive le informazioni sugli spazi dei nomi nell'oggetto XmlWriter o TextWriter sottostante.Writes namespace information to the underlying XmlWriter or TextWriter. Potrebbe generare un'eccezione per specifici stati, tuttavia può rinviare la scrittura delle informazioni sullo spazio dei nomi finché il writer e il flusso del nodo XAML in elaborazione non raggiunge una posizione in cui sia possibile inserire la dichiarazione di uno spazio dei nomi 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)

Esegue il passaggio in base al tipo di nodo dal reader XAML (NodeType) e chiama il metodo Write pertinente per l'implementazione del writer.Performs switching based on node type from the XAML reader (NodeType) and calls the relevant Write method for the writer implementation.

(Ereditato da XamlWriter)
WriteStartMember(XamlMember)

Scrive un nodo membro XAML iniziale nell'oggetto XmlWriter o TextWriter sottostante.Writes a XAML start member node to the underlying XmlWriter or TextWriter. Genera un'eccezione se la posizione corrente del flusso del nodo XAML è all'interno di un altro membro o non è in uno stato dell'ambito o del writer che consente la scrittura di un membro iniziale.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)

Scrive un nodo oggetto XAML iniziale nell'oggetto XmlWriter o TextWriter sottostante.Writes a XAML start object node to the underlying XmlWriter or TextWriter. Genera un'eccezione se la posizione corrente del flusso del nodo XAML non è in un ambito in cui sia possibile scrivere un oggetto iniziale e se il writer non è in uno stato che consente la scrittura di un oggetto iniziale.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)

Scrive un nodo valore XAML nell'oggetto XmlWriter o TextWriter sottostante.Writes a XAML value node to the underlying XmlWriter or TextWriter. Genera un'eccezione se la posizione corrente del flusso del nodo XAML non è valida la scrittura di un valore e se lo stato del writer non supporta la scrittura di un valore.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.

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose()

Vedere Dispose().See Dispose().

(Ereditato da XamlWriter)

Si applica a

Vedi anche