XamlXmlWriter Klasa

Definicja

TextWriter Używa klasy lub XmlWriter obsługi do pisania strumienia węzła XAML w postaci tekstowej lub znaczników serializacji.

public ref class XamlXmlWriter : System::Xaml::XamlWriter
public class XamlXmlWriter : System.Xaml.XamlWriter
type XamlXmlWriter = class
    inherit XamlWriter
Public Class XamlXmlWriter
Inherits XamlWriter
Dziedziczenie
XamlXmlWriter

Uwagi

Ta klasa jest zwykle używana w scenariuszach serializacji.

Jak używać narzędzia XamlXmlWriter

Interfejs XamlWriter API ma kilka metod, które zapisują różne typy węzłów XAML. Zbiorczo są one określane w dokumentacji jako Write metody .XamlWriter XamlXmlWriter używa kilku wewnętrznych klas stanu, aby określić, co zrobić, gdy jest wywoływana jedna z jego Write implementacji. Wywołanie Write używa stanów do określenia, czy żądany element, atrybut lub wartość można zapisać, czy też zgłaszany jest wyjątek. Jeśli na przykład wywołasz wywołanie WriteEndObject i stan bieżącego XamlXmlWriter położenia węzła znajduje się na wartości lub w obrębie elementu członkowskiego, zgłaszany jest wyjątek. Zazwyczaj wywołujące XamlXmlWriter interfejs API powinny mieć świadomość typu bieżącego węzła XAML pochodzącego z czytnika XAML i strumienia węzła XAML. Na podstawie tej wiedzy osoby wywołujące powinny unikać wywoływania Write interfejsów API, które nie są istotne dla bieżącego typu węzła.

Przestrzenie nazw XAML i XamlXmlWriter

Zachowanie XamlXmlWriter zapisywania przestrzeni nazw XAML jest złożone i nie jest ograniczone do jawnych wywołań do WriteNamespaceklasy . Zamiast tego inne Write wywołania, takie jak WriteStartObject, mogą wymagać zapisania deklaracji przestrzeni nazw w określonych punktach w strukturze węzła. Składnik zapisywania XAML generuje prefiks przez własną logikę lub używa informacji z INamespacePrefixLookup usługi w celu określenia preferowanego prefiksu. Ponadto jawne WriteNamespace wywołania mogą odroczyć lub nie zwrócić nic, jeśli deklaracja przestrzeni nazw XAML jest już odpowiednia i zadeklarowana gdzie indziej.

Wyjątki metody write

Wyjątki zgłaszane przez XamlXmlWriterWrite metody są zwykle lub InvalidOperationExceptionXamlXmlWriterException.

Często InvalidOperationException wskazuje, że czytnik XAML przekazał nieprawidłową strukturę węzła do strumienia węzła XAML. W takim przypadku struktura węzła jest nieprawidłowa z powodów, które nie są związane z walidacją schematu XAML lub kontekstu schematu XAML. Zamiast tego strumień węzła jest nieprawidłowy w podstawowej formie. Jeśli na przykład wadliwa implementacja czytnika XAML wygenerowała strumień węzła XAML, który zawierał dwa kolejne StartObject węzły, próba wywołania drugiego WriteStartObject elementu zgłosi błąd InvalidOperationException. Wszyscy autorzy XAML uważają, że taka operacja jest nieprawidłowa. Innym przykładem jest InvalidOperationException to, że informacje o przestrzeni nazw XAML są niedostępne za pośrednictwem kontekstu schematu XAML, który ma zastosowanie do bieżącego położenia strumienia węzła.

A XamlXmlWriterException wskazuje wyjątek, w którym ta konkretna implementacja modułu zapisywania XAML decyduje się zgłosić wyjątek na podstawie zamierzonej funkcjonalności. Element XamlXmlWriterException może wskazywać konkretne przypadki naruszenia XamlXmlWriter własnego stanu lub ustawień. Na przykład może XamlXmlWriterException to wynikać z prób zapisania informacji o przestrzeni nazw XAML w miejscu, w przypadku którego XamlXmlWriter format i jego serializacji nie obsługuje, lub zapisywania zduplikowanych elementów członkowskich, gdy wystąpienie XamlXmlWriterSettings go zabrania.

Konstruktory

XamlXmlWriter(Stream, XamlSchemaContext)

Inicjuje XamlXmlWriter nowe wystąpienie klasy ze strumienia.

XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings)

Inicjuje XamlXmlWriter nowe wystąpienie klasy ze strumienia przy użyciu obiektu ustawień modułu zapisywania.

XamlXmlWriter(TextWriter, XamlSchemaContext)

Inicjuje XamlXmlWriter nowe wystąpienie klasy z TextWriter podstawy.

XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings)

Inicjuje XamlXmlWriter nowe wystąpienie klasy z TextWriter podstaw przy użyciu obiektu settings.

XamlXmlWriter(XmlWriter, XamlSchemaContext)

Inicjuje XamlXmlWriter nowe wystąpienie klasy z XmlWriter podstawy.

XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings)

Inicjuje XamlXmlWriter nowe wystąpienie klasy z XmlWriter podstaw przy użyciu obiektu settings.

Właściwości

IsDisposed

Pobiera, czy Dispose(Boolean) został wywołany.

(Odziedziczone po XamlWriter)
SchemaContext

Pobiera kontekst schematu XAML używany XamlXmlWriter do przetwarzania.

Settings

Pobiera ustawienia modułu zapisywania, które są XamlXmlWriter używane do przetwarzania XAML.

Metody

Close()

Zamyka obiekt modułu zapisywania XAML.

(Odziedziczone po XamlWriter)
Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez XamlXmlWriter program i opcjonalnie zwalnia zasoby zarządzane.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Flush()

Wywołuje metodę Flush bazowego XmlWriter lub TextWriter, która zapisuje wszystko, co jest obecnie w buforze, a następnie zamyka moduł zapisywania.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
WriteEndMember()

Zapisuje węzeł elementu członkowskiego końcowego XAML do bazowego XmlWriter lub TextWriter. Zgłasza wyjątek, jeśli bieżące położenie strumienia węzła XAML nie znajduje się w elemencie członkowskim lub jeśli stan wewnętrznego składnika zapisywania nie obsługuje zapisywania do elementu członkowskiego końcowego.

WriteEndObject()

Zapisuje węzeł obiektu końcowego XAML do bazowego lub XmlWriterTextWriter. Zgłasza wyjątek, jeśli bieżąca pozycja strumienia węzła XAML, który jest przetwarzany, jest niezgodna z zapisem obiektu końcowego.

WriteGetObject()

Zapisuje obiekt w przypadkach, w których określony obiekt jest wartością domyślną lub niejawną właściwości, która jest zapisywana, zamiast być określona jako wartość obiektu w wejściowym zestawie węzłów XAML.

WriteNamespace(NamespaceDeclaration)

Zapisuje informacje o przestrzeni nazw do bazowego XmlWriter lub TextWriter. Może zgłosić wyjątek dla niektórych stanów; może jednak odroczyć zapisywanie informacji o przestrzeni nazw do momentu wstawienia składnika zapisywania i strumienia węzła XAML, który jest przetwarzany, osiąga pozycję, w której można wstawić deklarację przestrzeni nazw XAML.

WriteNode(XamlReader)

Wykonuje przełączanie na podstawie typu węzła z czytnika XAML (NodeType) i wywołuje odpowiednią Write metodę implementacji modułu zapisywania.

(Odziedziczone po XamlWriter)
WriteStartMember(XamlMember)

Zapisuje węzeł elementu członkowskiego początkowego XAML do bazowego XmlWriter lub TextWriter. Zgłasza wyjątek, jeśli bieżące położenie strumienia węzła XAML znajduje się w innym elemencie członkowskim lub jeśli nie znajduje się w zakresie lub w stanie zapisywania, w którym można napisać element członkowski początkowy.

WriteStartObject(XamlType)

Zapisuje węzeł obiektu początkowego XAML do bazowego lub XmlWriterTextWriter. Zgłasza wyjątek, jeśli bieżąca pozycja strumienia węzła XAML nie znajduje się w zakresie, w którym można zapisać obiekt początkowy, lub jeśli składnik zapisywania nie jest w stanie, który może napisać obiekt startowy.

WriteValue(Object)

Zapisuje węzeł wartości XAML do bazowego lub XmlWriterTextWriter. Zgłasza wyjątek, jeśli bieżąca pozycja strumienia węzła XAML jest nieprawidłowa do zapisywania wartości lub składnik zapisywania jest w stanie, w którym nie można zapisać wartości.

Jawne implementacje interfejsu

IDisposable.Dispose()

Zobacz: .

(Odziedziczone po XamlWriter)

Dotyczy

Zobacz też