XamlXmlWriter Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
TextWriter Používá třídu nebo XmlWriter podporu k zápisu streamu uzlu XAML do textového nebo revizní serializovaného formuláře.
public ref class XamlXmlWriter : System::Xaml::XamlWriter
public class XamlXmlWriter : System.Xaml.XamlWriter
type XamlXmlWriter = class
inherit XamlWriter
Public Class XamlXmlWriter
Inherits XamlWriter
- Dědičnost
Poznámky
Tato třída se obvykle používá ve scénářích serializace.
Jak používat XamlXmlWriter
Rozhraní XamlWriter API má několik metod, které zapisují různé typy uzlů XAML. Souhrnně se tyto metody označují v dokumentaci jako Write
metody XamlWriter. XamlXmlWriter používá několik interních tříd stavu k určení, co dělat, když je volána jedna z jeho Write
implementací. Volání Write
používá stavy k určení, zda je možné zapsat požadovaný prvek, atribut nebo hodnotu, nebo zda je vyvolána výjimka. Pokud například zavoláte WriteEndObject a stav pozice aktuálního XamlXmlWriter uzlu je na hodnotě nebo v rámci člena, vyvolá se výjimka. Volající XamlXmlWriter rozhraní API by obvykle měli znát typ aktuálního uzlu XAML, který pochází ze čtečky XAML a datového proudu uzlu XAML. Na základě těchto znalostí by se volajícím měly vyhnout volání Write
rozhraní API, která nejsou relevantní pro aktuální typ uzlu.
Obory názvů XAML a XamlXmlWriter
Chování zápisu XamlXmlWriter oboru názvů XAML je složité a není omezeno na explicitní volání .WriteNamespace Jiná volání, například WriteStartObject, mohou vyžadovat, Write
aby deklarace oboru názvů byla zapsána v konkrétních bodech struktury uzlu. Zapisovač XAML buď vygeneruje předponu vlastní logikou, nebo používá informace ze INamespacePrefixLookup služby k určení upřednostňované předpony. Explicitní WriteNamespace volání také můžou odložit nebo nemusí vrátit nic, pokud je deklarace oboru názvů XAML již použitelná a deklarována jinde.
Výjimky metody Write
Výjimky vyvolané metodami XamlXmlWriter Write
jsou obvykle buď InvalidOperationException nebo XamlXmlWriterException.
Často InvalidOperationException značí, že čtenář XAML předal neplatnou strukturu uzlu do streamu uzlu XAML. V tomto případě je struktura uzlu neplatná z důvodů, které nesouvisejí s ověřením schématu XAML nebo kontextu schématu XAML. Datový proud uzlu je spíše neplatný v jeho základní podobě. Pokud například chybná implementace čtečky XAML vygenerovala stream uzlu XAML, který obsahoval dva po sobě jdoucí StartObject
uzly, pokus o volání druhé WriteStartObject vyvolá chybu InvalidOperationException. Všichni zapisovači XAML by takovou operaci považovali za neplatnou. Dalším příkladem InvalidOperationException je situace, kdy informace o oboru názvů XAML nejsou dostupné prostřednictvím kontextu schématu XAML, který se vztahuje na aktuální pozici streamu uzlu.
A XamlXmlWriterException označuje výjimku, kdy se tato konkrétní implementace zapisovače XAML rozhodne vyvolat výjimku na základě zamýšlených funkcí. Může XamlXmlWriterException indikovat konkrétní případy, kdy XamlXmlWriter porušuje svůj vlastní stav nebo nastavení. Výsledkem může být například XamlXmlWriterException pokus o zápis informací o oboru názvů XAML do pozice, kterou XamlXmlWriter formát serializace nepodporuje, nebo zápis duplicitních členů, když je instance zakázána XamlXmlWriterSettings .
Konstruktory
XamlXmlWriter(Stream, XamlSchemaContext) |
Inicializuje novou instanci XamlXmlWriter třídy ze streamu. |
XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings) |
Inicializuje novou instanci XamlXmlWriter třídy ze streamu pomocí objektu nastavení zapisovače. |
XamlXmlWriter(TextWriter, XamlSchemaContext) |
Inicializuje novou instanci XamlXmlWriter třídy z základu TextWriter . |
XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings) |
Inicializuje novou instanci XamlXmlWriter třídy z základu TextWriter pomocí objektu nastavení. |
XamlXmlWriter(XmlWriter, XamlSchemaContext) |
Inicializuje novou instanci XamlXmlWriter třídy z základu XmlWriter . |
XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings) |
Inicializuje novou instanci XamlXmlWriter třídy z základu XmlWriter pomocí objektu nastavení. |
Vlastnosti
IsDisposed |
Získá, zda Dispose(Boolean) byl volána. (Zděděno od XamlWriter) |
SchemaContext |
Získá kontext schématu XAML, který se XamlXmlWriter používá ke zpracování. |
Settings |
Získá nastavení zapisovače, které se používá XamlXmlWriter pro zpracování XAML. |
Metody
Close() |
Zavře objekt zapisovače XAML. (Zděděno od XamlWriter) |
Dispose(Boolean) |
Uvolní nespravované prostředky používané XamlXmlWriter a volitelně uvolní spravované prostředky. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
Flush() |
|
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
WriteEndMember() |
Zapíše koncový členský uzel XAML do podkladového XmlWriter prvku nebo TextWriter. Vyvolá výjimku, pokud aktuální pozice streamu uzlu XAML není v rámci člena nebo pokud interní stav zapisovače nepodporuje zápis do koncového člena. |
WriteEndObject() |
Zapíše koncový uzel objektu XAML do podkladového XmlWriter objektu nebo TextWriter. Vyvolá výjimku, pokud aktuální pozice streamu uzlu XAML, který se zpracovává, není kompatibilní s zápisem koncového objektu. |
WriteGetObject() |
Zapíše objekt pro případy, kdy zadaný objekt je výchozí nebo implicitní hodnota vlastnosti, která se zapisuje, místo aby byla zadána jako hodnota objektu ve vstupní sadě uzlů XAML. |
WriteNamespace(NamespaceDeclaration) |
Zapíše informace o oboru názvů do podkladového objektu XmlWriter nebo TextWriter. Může vyvolat výjimku pro určité stavy; Může však místo toho odložit zápis informací o oboru názvů, dokud zapisovač a stream uzlu XAML, který se zpracovává, dosáhne pozice, kde lze vložit deklaraci oboru názvů XAML. |
WriteNode(XamlReader) |
Provádí přepínání na základě typu uzlu ze čtečky XAML (NodeType) a volá příslušnou |
WriteStartMember(XamlMember) |
Zapíše počáteční členový uzel XAML do podkladového XmlWriter prvku nebo TextWriter. Vyvolá výjimku, pokud je aktuální pozice streamu uzlu XAML v jiném členu nebo pokud není ve stavu oboru nebo zápisu, kde lze zapsat počáteční člen. |
WriteStartObject(XamlType) |
Zapíše počáteční uzel objektu XAML do podkladového XmlWriter objektu nebo TextWriter. Vyvolá výjimku, pokud aktuální pozice streamu uzlu XAML není v oboru, ve kterém lze zapsat spouštěcí objekt nebo pokud zapisovač není ve stavu, který může napsat spouštěcí objekt. |
WriteValue(Object) |
Zapíše uzel hodnoty XAML do podkladového XmlWriter prvku nebo TextWriter. Vyvolá výjimku, pokud je aktuální pozice streamu uzlu XAML neplatná pro zápis hodnoty nebo je zapisovač ve stavu, ve kterém nelze zapsat hodnotu. |
Explicitní implementace rozhraní
IDisposable.Dispose() |
Viz třída Dispose(). (Zděděno od XamlWriter) |