XamlXmlWriter Classe

Définition

Utilise une TextWriter classe ou XmlWriter prend en charge l’écriture d’un flux de nœud XAML dans un formulaire sérialisé de texte ou de balisage.

public ref class XamlXmlWriter : System::Xaml::XamlWriter
public class XamlXmlWriter : System.Xaml.XamlWriter
type XamlXmlWriter = class
    inherit XamlWriter
Public Class XamlXmlWriter
Inherits XamlWriter
Héritage
XamlXmlWriter

Remarques

Cette classe est généralement utilisée dans les scénarios de sérialisation.

Utilisation de XamlXmlWriter

L’API XamlWriter a plusieurs méthodes qui écrivent différents types de nœuds XAML. Collectivement, on les appelle dans la documentation les Write méthodes d’un XamlWriter. XamlXmlWriter utilise plusieurs classes d’état internes pour déterminer ce qu’il faut faire quand l’une de ses Write implémentations est appelée. Un Write appel utilise les états pour déterminer si l’élément, l’attribut ou la valeur demandé peut être écrit ou si une exception est levée. Par exemple, si vous appelez WriteEndObject et que l’état de la XamlXmlWriter position du nœud actuel se trouve sur une valeur ou dans un membre, une exception est levée. En règle générale, les appelants de l’API XamlXmlWriter doivent connaître le type du nœud XAML actuel provenant du lecteur XAML et du flux de nœud XAML. En fonction de cette connaissance, les appelants doivent éviter d’appeler Write des API qui ne sont pas pertinentes pour le type de nœud actuel.

Espaces de noms XAML et XamlXmlWriter

Le comportement d’écriture de l’espace de noms XAML est XamlXmlWriter complexe et n’est pas limité aux appels explicites à WriteNamespace. Au lieu de cela, d’autres Write appels, tels que WriteStartObject, peuvent exiger que la déclaration d’espace de noms soit écrite à des points particuliers dans la structure de nœud. L’enregistreur XAML génère un préfixe par sa propre logique ou utilise des informations du INamespacePrefixLookup service pour déterminer un préfixe préféré. En outre, les appels explicites WriteNamespace peuvent différer ou ne renvoyer rien si la déclaration d’espace de noms XAML est déjà applicable et déclarée ailleurs.

Exceptions de méthode Write

Les exceptions levées par les XamlXmlWriterWrite méthodes sont généralement soit .XamlXmlWriterExceptionInvalidOperationException

Un InvalidOperationException lecteur XAML indique souvent qu’un lecteur XAML a passé une structure de nœud non valide dans le flux de nœuds XAML. Dans ce cas, la structure de nœud n’est pas valide pour des raisons qui ne sont pas liées à la validation d’un schéma XAML ou d’un contexte de schéma XAML. Au lieu de cela, le flux de nœuds n’est pas valide sous sa forme de base. Par exemple, si une implémentation de lecteur XAML défectueuse a généré un flux de nœuds XAML qui contenait deux nœuds consécutifs StartObject , la tentative d’appel de la seconde WriteStartObject lève un InvalidOperationException. Tous les enregistreurs XAML considèrent qu’une telle opération n’est pas valide. Un autre exemple est le moment où les informations d’espace de InvalidOperationException noms XAML ne sont pas disponibles via le contexte de schéma XAML qui s’applique à la position actuelle du flux de nœud.

A XamlXmlWriterException indique une exception dans laquelle cette implémentation d’enregistreur XAML particulière choisit de lever une exception en fonction de ses fonctionnalités prévues. Un XamlXmlWriterException peut indiquer des cas spécifiques où une XamlXmlWriter violation de son propre état ou de ses propres paramètres. Par exemple, une XamlXmlWriterException tentative d’écriture d’informations d’espace de noms XAML dans une position où le format de sérialisation et le XamlXmlWriter format de sérialisation ne prennent pas en charge ou écrivent des membres dupliqués lorsque l’instance l’interdit XamlXmlWriterSettings .

Constructeurs

Nom Description
XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings)

Initialise une nouvelle instance de la classe à partir d’un flux à l’aide XamlXmlWriter d’un objet de paramètres d’enregistreur.

XamlXmlWriter(Stream, XamlSchemaContext)

Initialise une nouvelle instance de la XamlXmlWriter classe à partir d’un flux.

XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings)

Initialise une nouvelle instance de la classe à partir d’une TextWriter base à l’aide XamlXmlWriter d’un objet settings.

XamlXmlWriter(TextWriter, XamlSchemaContext)

Initialise une nouvelle instance de la XamlXmlWriter classe à partir d’une TextWriter base.

XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings)

Initialise une nouvelle instance de la classe à partir d’une XmlWriter base à l’aide XamlXmlWriter d’un objet settings.

XamlXmlWriter(XmlWriter, XamlSchemaContext)

Initialise une nouvelle instance de la XamlXmlWriter classe à partir d’une XmlWriter base.

Propriétés

Nom Description
IsDisposed

Obtient si Dispose(Boolean) elle a été appelée.

(Hérité de XamlWriter)
SchemaContext

Obtient le contexte de schéma XAML que cela XamlXmlWriter utilise pour le traitement.

Settings

Obtient les paramètres de l’enregistreur que cela XamlXmlWriter utilise pour le traitement XAML.

Méthodes

Nom Description
Close()

Ferme l’objet writer XAML.

(Hérité de XamlWriter)
Dispose(Boolean)

Libère les ressources non managées utilisées XamlXmlWriter et libère éventuellement les ressources managées.

Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
Flush()

Appelle la Flush méthode du sous-jacent XmlWriter ou TextWriter, qui écrit tout ce qui se trouve actuellement dans la mémoire tampon, puis ferme l’enregistreur.

GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)
WriteEndMember()

Écrit un nœud membre final XAML dans le ou XmlWriterTextWriter. Lève une exception si la position actuelle du flux de nœud XAML n’est pas au sein d’un membre, ou si l’état de l’enregistreur interne ne prend pas en charge l’écriture dans un membre final.

WriteEndObject()

Écrit un nœud d’objet final XAML dans l’objet sous-jacent XmlWriter ou TextWriter. Lève une exception si la position actuelle du flux de nœud XAML en cours de traitement est incompatible avec l’écriture d’un objet final.

WriteGetObject()

Écrit un objet dans les cas où l’objet spécifié est une valeur par défaut ou implicite de la propriété en cours d’écriture, au lieu d’être spécifié comme valeur d’objet dans le jeu de nœuds XAML d’entrée.

WriteNamespace(NamespaceDeclaration)

Écrit des informations d’espace de noms dans l’espace de noms sous-jacent XmlWriter ou TextWriter. Peut lever une exception pour certains états ; toutefois, peut différer l’écriture des informations d’espace de noms jusqu’à ce que l’enregistreur et le flux de nœud XAML en cours de traitement atteignent une position où une déclaration d’espace de noms XAML peut être insérée.

WriteNode(XamlReader)

Effectue un basculement en fonction du type de nœud à partir du lecteur XAML (NodeType) et appelle la méthode appropriée Write pour l’implémentation de l’enregistreur.

(Hérité de XamlWriter)
WriteStartMember(XamlMember)

Écrit un nœud membre de démarrage XAML dans le nœud sous-jacent XmlWriter ou TextWriter. Lève une exception si la position actuelle du flux de nœud XAML se trouve dans un autre membre, ou si elle n’est pas dans un état d’étendue ou d’enregistreur où un membre de démarrage peut être écrit.

WriteStartObject(XamlType)

Écrit un nœud d’objet de démarrage XAML dans l’objet sous-jacent XmlWriter ou TextWriter. Lève une exception si la position actuelle du flux de nœud XAML n’est pas dans une étendue où un objet de démarrage peut être écrit ou si l’enregistreur n’est pas dans un état qui peut écrire un objet de démarrage.

WriteValue(Object)

Écrit un nœud de valeur XAML dans le ou XmlWriterTextWriter. Lève une exception si la position actuelle du flux de nœud XAML n’est pas valide pour écrire une valeur, ou si l’enregistreur est dans un état où une valeur ne peut pas être écrite.

Implémentations d’interfaces explicites

Nom Description
IDisposable.Dispose()

Voir Dispose().

(Hérité de XamlWriter)

S’applique à

Voir aussi