XmlTextWriter Klas

Definitie

Vertegenwoordigt een schrijver die een snelle, niet-in cache geplaatste, forward-only manier biedt voor het genereren van streams of bestanden die XML-gegevens bevatten die voldoen aan de W3C Extensible Markup Language (XML) 1.0 en de naamruimten in XML-aanbevelingen.

U wordt aangeraden in plaats daarvan de XmlWriter klas te gebruiken.

public ref class XmlTextWriter : System::Xml::XmlWriter
public class XmlTextWriter : System.Xml.XmlWriter
type XmlTextWriter = class
    inherit XmlWriter
Public Class XmlTextWriter
Inherits XmlWriter
Overname
XmlTextWriter

Opmerkingen

De XmlTextWriter klasse implementeert de XmlWriter klasse.

Opmerking

U wordt aangeraden om XmlWriter-exemplaren te maken met behulp van de XmlWriter.Create-methode en de XmlWriterSettings-klasse om te profiteren van nieuwe functionaliteit.

XmlTextWriter onderhoudt een naamruimtestack die overeenkomt met alle naamruimten die zijn gedefinieerd in de huidige elementstack. U kunt XmlTextWriter naamruimten handmatig declareren.

w.WriteStartElement("root");
w.WriteAttributeString("xmlns", "x", null, "urn:1");
w.WriteStartElement("item","urn:1");
w.WriteEndElement();
w.WriteStartElement("item","urn:1");
w.WriteEndElement();
w.WriteEndElement();

Deze C#-code produceert de volgende uitvoer. XmlTextWriter bevordert de naamruimtedeclaratie naar het hoofdelement om te voorkomen dat deze wordt gedupliceerd op de twee onderliggende elementen. De kind-elementen halen het voorvoegsel op uit de naamruimteverklaring.

<root xmlns:x="urn:1">
<x:item/>
<x:item/>
</root>

XmlTextWriter U kunt ook de huidige naamruimtedeclaratie overschrijven. In het volgende voorbeeld wordt de naamruimte-URI '123' overschreven door 'abc' om het XML-element <x:node xmlns:x="abc"/>te produceren.

w.WriteStartElement("x","node","123");
w.WriteAttributeString("xmlns","x",null,"abc");

Met behulp van de schrijfmethoden die een voorvoegsel als argument gebruiken, kunt u ook opgeven welk voorvoegsel u wilt gebruiken. In het volgende voorbeeld worden twee verschillende voorvoegsels toegewezen aan dezelfde naamruimte-URI om de XML-tekst <x:root xmlns:x="urn:1"><y:item xmlns:y="urn:1"/></x:root>te produceren.

XmlTextWriter w = new XmlTextWriter(Console.Out);
w.WriteStartElement("x","root","urn:1");
w.WriteStartElement("y","item","urn:1");
w.WriteEndElement();
w.WriteEndElement();
w.Close();

Als er meerdere naamruimtedeclaraties zijn die verschillende voorvoegsels toewijzen aan dezelfde naamruimte-URI, XmlTextWriter leidt u de stapel naamruimtedeclaraties achteruit en kiest u het dichtstbijzijnde.

XmlTextWriter w = new XmlTextWriter(Console.Out);
w.Formatting = Formatting.Indented;
w.WriteStartElement("x","root","urn:1");
w.WriteStartElement("y","item","urn:1");
w.WriteAttributeString("attr","urn:1","123");
w.WriteEndElement();
w.WriteEndElement();
w.Close();

In dit C#-voorbeeld, omdat de WriteAttributeString aanroep geen voorvoegsel opgeeft, gebruikt de schrijver het laatste voorvoegsel dat naar de naamruimtestack wordt gepusht en produceert de volgende XML:

<x:root xmlns:x="urn:1">
<y:item y:attr="123" xmlns:y="urn:1" />
</x:root>

Als er naamruimteconflicten optreden, XmlTextWriter lost u deze op door alternatieve voorvoegsels te genereren. Als een kenmerk en element bijvoorbeeld hetzelfde voorvoegsel hebben, maar verschillende naamruimten, XmlWriter genereert u een alternatief voorvoegsel voor het kenmerk. De gegenereerde voorvoegsels hebben een naam n{i} waarbij i een getal begint bij 1. Het getal wordt opnieuw ingesteld op 1 voor elk element.

Kenmerken die zijn gekoppeld aan een naamruimte-URI moeten een voorvoegsel hebben (standaardnaamruimten zijn niet van toepassing op kenmerken). Dit voldoet aan sectie 5.2 van de W3C-naamruimten in de XML-aanbeveling. Als een kenmerk VERWIJST naar een naamruimte-URI, maar geen voorvoegsel opgeeft, genereert de schrijver een voorvoegsel voor het kenmerk.

Bij het schrijven van een leeg element wordt bijvoorbeeld een extra ruimte toegevoegd tussen de tagnaam en de afsluitende tag <item />. Dit biedt compatibiliteit met oudere browsers.

Wanneer een String wordt gebruikt als methodeparameter, zijn null en String.Empty gelijkwaardig. String.Empty volgt de W3C-regels.

Als u sterk getypte gegevens wilt schrijven, gebruikt u de XmlConvert klasse om gegevenstypen te converteren naar een tekenreeks. Met de volgende C#-code worden bijvoorbeeld de gegevens geconverteerd van Double naar String en het element <price>19.95</price> geschreven.

Double price = 19.95;
writer.WriteElementString("price", XmlConvert.ToString(price));

XmlTextWriter controleert niet op het volgende:

  • Ongeldige tekens in kenmerk- en elementnamen.
  • Unicode-tekens die niet passen bij de opgegeven codering. Als de Unicode-tekens niet passen bij de opgegeven codering, ontsnappen de XmlTextWriter Unicode-tekens niet aan tekenentiteiten.
  • Dubbele kenmerken.
  • Tekens in de openbare DOCTYPE-id of systeem-id.

Beveiligingsoverwegingen

De volgende items zijn zaken waarmee u rekening moet houden bij het werken met de XmlTextWriter klasse.

  • Uitzonderingen die door XmlTextWriter worden gegenereerd, kunnen padinformatie vrijgeven die niet mag worden meegedeeld aan de toepassing. Uw toepassingen moeten uitzonderingen ondervangen en ze op de juiste manier verwerken.

  • Wanneer u de XmlTextWriter toepassing doorgeeft aan een andere toepassing, wordt de onderliggende stream blootgesteld aan die toepassing. Als u de XmlTextWriter moet doorgeven aan een semi-vertrouwde toepassing, gebruik dan een XmlWriter-object dat is gemaakt met de Create-methode.

  • XmlTextWriter valideert geen gegevens die worden doorgegeven aan de WriteDocType of WriteRaw methoden. U mag geen willekeurige gegevens doorgeven aan deze methoden.

  • Als de standaardinstellingen worden gewijzigd, is er geen garantie dat de gegenereerde uitvoer goed opgemaakte XML-gegevens is.

  • Accepteer geen ondersteunende onderdelen, zoals een Encoding object, van een niet-vertrouwde bron.

Constructors

Name Description
XmlTextWriter(Stream, Encoding)

Hiermee maakt u een exemplaar van de XmlTextWriter klasse met behulp van de opgegeven stroom en codering.

XmlTextWriter(String, Encoding)

Hiermee maakt u een exemplaar van de XmlTextWriter klasse met behulp van het opgegeven bestand.

XmlTextWriter(TextWriter)

Hiermee maakt u een exemplaar van de XmlTextWriter klasse met behulp van de opgegeven TextWriter.

Eigenschappen

Name Description
BaseStream

Hiermee haalt u het onderliggende stroomobject op.

Formatting

Geeft aan hoe de uitvoer is opgemaakt.

Indentation

Hiermee haalt u op hoeveel IndentChars moet worden geschreven voor elk niveau in de hiërarchie wanneer Formatting deze is ingesteld op Formatting.Indented.

IndentChar

Hiermee haalt u op of stelt u in op welk teken moet worden ingesprongen wanneer Formatting dit is ingesteld op Formatting.Indented.

Namespaces

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of naamruimteondersteuning moet worden ondersteund.

QuoteChar

Hiermee wordt opgehaald of ingesteld welk teken moet worden gebruikt om kenmerkwaarden aan te geven.

Settings

Hiermee haalt u het XmlWriterSettings object op dat wordt gebruikt om dit XmlWriter exemplaar te maken.

(Overgenomen van XmlWriter)
WriteState

Haalt de status van de schrijver op.

XmlLang

Hiermee haalt u het huidige xml:lang bereik op.

XmlSpace

Hiermee wordt een XmlSpace weergave van het huidige xml:space bereik weergegeven.

Methoden

Name Description
Close()

Hiermee sluit u deze stroom en de onderliggende stroom.

Dispose()

Alle resources die door het huidige exemplaar van de XmlWriter klasse worden gebruikt, worden vrijgegeven.

(Overgenomen van XmlWriter)
Dispose(Boolean)

Publiceert de niet-beheerde resources die worden gebruikt door de XmlWriter beheerde resources en brengt eventueel de beheerde resources vrij.

(Overgenomen van XmlWriter)
DisposeAsync()

Voert door de toepassing gedefinieerde taken uit die zijn gekoppeld aan het vrijmaken, vrijgeven of opnieuw instellen van onbeheerde resources asynchroon.

(Overgenomen van XmlWriter)
DisposeAsyncCore()

Voert toepassingsgedefinieerde taken uit die zijn gekoppeld aan het asynchroon vrijmaken, vrijgeven of opnieuw instellen van beheerde resources.

(Overgenomen van XmlWriter)
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
Flush()

Spoelt alles wat zich in de buffer bevindt naar de onderliggende stromen en spoelt ook de onderliggende stroom leeg.

FlushAsync()

Asynchroon spoelt alles wat zich in de buffer bevindt naar de onderliggende stromen en maakt ook de onderliggende stroom leeg.

(Overgenomen van XmlWriter)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
LookupPrefix(String)

Retourneert het dichtstbijzijnde voorvoegsel dat is gedefinieerd in het huidige naamruimtebereik voor de naamruimte-URI.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
WriteAttributes(XmlReader, Boolean)

Wanneer deze worden overschreven in een afgeleide klasse, schrijft u alle kenmerken uit die op de huidige positie in de XmlReaderklasse zijn gevonden.

(Overgenomen van XmlWriter)
WriteAttributesAsync(XmlReader, Boolean)

Asynchroon schrijft alle kenmerken op de huidige positie in de XmlReader.

(Overgenomen van XmlWriter)
WriteAttributeString(String, String, String, String)

Wanneer het kenmerk wordt overschreven in een afgeleide klasse, schrijft u het kenmerk uit met het opgegeven voorvoegsel, de lokale naam, de naamruimte-URI en de waarde.

(Overgenomen van XmlWriter)
WriteAttributeString(String, String, String)

Wanneer deze wordt overschreven in een afgeleide klasse, schrijft u een kenmerk met de opgegeven lokale naam, naamruimte-URI en waarde.

(Overgenomen van XmlWriter)
WriteAttributeString(String, String)

Wanneer het kenmerk wordt overschreven in een afgeleide klasse, schrijft u het kenmerk uit met de opgegeven lokale naam en waarde.

(Overgenomen van XmlWriter)
WriteAttributeStringAsync(String, String, String, String)

Schrijft het kenmerk asynchroon uit met het opgegeven voorvoegsel, de lokale naam, de naamruimte-URI en de waarde.

(Overgenomen van XmlWriter)
WriteBase64(Byte[], Int32, Int32)

Codeert de opgegeven binaire bytes als base64 en schrijft de resulterende tekst uit.

WriteBase64Async(Byte[], Int32, Int32)

Codeert asynchroon de opgegeven binaire bytes als Base64 en schrijft de resulterende tekst uit.

(Overgenomen van XmlWriter)
WriteBinHex(Byte[], Int32, Int32)

Codeert de opgegeven binaire bytes als binhex en schrijft de resulterende tekst uit.

WriteBinHexAsync(Byte[], Int32, Int32)

Asynchroon codeert de opgegeven binaire bytes als BinHex en schrijft de resulterende tekst uit.

(Overgenomen van XmlWriter)
WriteCData(String)

Hiermee schrijft u een <![ CDATA[...]]> blok met de opgegeven tekst.

WriteCDataAsync(String)

Asynchroon schrijft een <![ CDATA[...]]> blok met de opgegeven tekst.

(Overgenomen van XmlWriter)
WriteCharEntity(Char)

Hiermee dwingt u het genereren van een tekenentiteit af voor de opgegeven Unicode-tekenwaarde.

WriteCharEntityAsync(Char)

Asynchroon dwingt u het genereren van een tekenentiteit voor de opgegeven Unicode-tekenwaarde af.

(Overgenomen van XmlWriter)
WriteChars(Char[], Int32, Int32)

Hiermee schrijft u tekst één buffer tegelijk.

WriteCharsAsync(Char[], Int32, Int32)

Asynchroon schrijft tekst één buffer tegelijk.

(Overgenomen van XmlWriter)
WriteComment(String)

Hiermee schrijft u een opmerking <--...--> met de opgegeven tekst.

WriteCommentAsync(String)

Asynchroon schrijft een opmerking <--...--> met de opgegeven tekst.

(Overgenomen van XmlWriter)
WriteDocType(String, String, String, String)

Schrijft de DOCTYPE-declaratie met de opgegeven naam en optionele kenmerken.

WriteDocTypeAsync(String, String, String, String)

Asynchroon schrijft de DOCTYPE-declaratie met de opgegeven naam en optionele kenmerken.

(Overgenomen van XmlWriter)
WriteElementString(String, String, String, String)

Hiermee schrijft u een element met het opgegeven voorvoegsel, de lokale naam, de naamruimte-URI en de waarde.

(Overgenomen van XmlWriter)
WriteElementString(String, String, String)

Hiermee schrijft u een element met de opgegeven lokale naam, naamruimte-URI en waarde.

(Overgenomen van XmlWriter)
WriteElementString(String, String)

Hiermee schrijft u een element met de opgegeven lokale naam en waarde.

(Overgenomen van XmlWriter)
WriteElementStringAsync(String, String, String, String)

Asynchroon schrijft een element met het opgegeven voorvoegsel, de lokale naam, de naamruimte-URI en de waarde.

(Overgenomen van XmlWriter)
WriteEndAttribute()

Hiermee sluit u de vorige WriteStartAttribute(String, String, String) aanroep.

WriteEndAttributeAsync()

Sluit de vorige WriteStartAttribute(String, String) aanroep asynchroon.

(Overgenomen van XmlWriter)
WriteEndDocument()

Sluit alle geopende elementen of kenmerken en plaatst de schrijver weer in de beginstatus.

WriteEndDocumentAsync()

Sluit asynchroon alle geopende elementen of kenmerken en plaatst de schrijver weer in de beginstatus.

(Overgenomen van XmlWriter)
WriteEndElement()

Hiermee sluit u één element en wordt het bijbehorende naamruimtebereik weergegeven.

WriteEndElementAsync()

Sluit asynchroon één element en popt het bijbehorende naamruimtebereik.

(Overgenomen van XmlWriter)
WriteEntityRef(String)

Hiermee wordt een entiteitsreferentie weggeschreven als &name;.

WriteEntityRefAsync(String)

Asynchroon schrijft een entiteitsreferentie uit als &name;.

(Overgenomen van XmlWriter)
WriteFullEndElement()

Hiermee sluit u één element en wordt het bijbehorende naamruimtebereik weergegeven.

WriteFullEndElementAsync()

Sluit asynchroon één element en popt het bijbehorende naamruimtebereik.

(Overgenomen van XmlWriter)
WriteName(String)

Hiermee wordt de opgegeven naam weggeschreven, zodat deze een geldige naam is volgens de W3C XML 1.0-aanbeveling.

WriteNameAsync(String)

Schrijft asynchroon de opgegeven naam uit, zodat deze een geldige naam is volgens de W3C XML 1.0-aanbeveling (https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name).

(Overgenomen van XmlWriter)
WriteNmToken(String)

Hiermee schrijft u de opgegeven naam uit, zodat deze geldig NmToken is volgens de W3C XML 1.0-aanbeveling.

WriteNmTokenAsync(String)

Schrijft asynchroon de opgegeven naam uit, zodat deze een geldig NmToken is volgens de W3C XML 1.0-aanbeveling (https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name).

(Overgenomen van XmlWriter)
WriteNode(XmlReader, Boolean)

Wanneer deze wordt overschreven in een afgeleide klasse, kopieert u alles van de lezer naar de schrijver en verplaatst u de lezer naar het begin van het volgende niveau.

(Overgenomen van XmlWriter)
WriteNode(XPathNavigator, Boolean)

Kopieert alles van het XPathNavigator object naar de schrijver. De positie van de XPathNavigator functie blijft ongewijzigd.

(Overgenomen van XmlWriter)
WriteNodeAsync(XmlReader, Boolean)

Asynchroon kopieert alles van de lezer naar de schrijver en verplaatst de lezer naar het begin van het volgende niveau.

(Overgenomen van XmlWriter)
WriteNodeAsync(XPathNavigator, Boolean)

Asynchroon kopieert alles van het XPathNavigator object naar de schrijver. De positie van de XPathNavigator functie blijft ongewijzigd.

(Overgenomen van XmlWriter)
WriteProcessingInstruction(String, String)

Hiermee schrijft u een verwerkingsinstructie met een spatie tussen de naam en de tekst als volgt uit: <?name text?>.

WriteProcessingInstructionAsync(String, String)

Schrijft asynchroon een verwerkingsinstructie met een spatie tussen de naam en tekst als volgt uit: <?name text?>.

(Overgenomen van XmlWriter)
WriteQualifiedName(String, String)

Hiermee wordt de naamruimte-gekwalificeerde naam weggeschreven. Met deze methode wordt gezocht naar het voorvoegsel dat binnen het bereik van de opgegeven naamruimte valt.

WriteQualifiedNameAsync(String, String)

Schrijft asynchroon de naamruimte-gekwalificeerde naam op. Met deze methode wordt gezocht naar het voorvoegsel dat binnen het bereik van de opgegeven naamruimte valt.

(Overgenomen van XmlWriter)
WriteRaw(Char[], Int32, Int32)

Schrijft onbewerkte markeringen handmatig vanuit een tekenbuffer.

WriteRaw(String)

Schrijft onbewerkte markeringen handmatig uit een tekenreeks.

WriteRawAsync(Char[], Int32, Int32)

Asynchroon schrijft onbewerkte markeringen handmatig vanuit een tekenbuffer.

(Overgenomen van XmlWriter)
WriteRawAsync(String)

Asynchroon schrijft onbewerkte markeringen handmatig uit een tekenreeks.

(Overgenomen van XmlWriter)
WriteStartAttribute(String, String, String)

Hiermee schrijft u het begin van een kenmerk.

WriteStartAttribute(String, String)

Hiermee schrijft u het begin van een kenmerk met de opgegeven lokale naam en naamruimte-URI.

(Overgenomen van XmlWriter)
WriteStartAttribute(String)

Hiermee schrijft u het begin van een kenmerk met de opgegeven lokale naam.

(Overgenomen van XmlWriter)
WriteStartAttributeAsync(String, String, String)

Schrijft asynchroon het begin van een kenmerk met het opgegeven voorvoegsel, de lokale naam en de naamruimte-URI.

(Overgenomen van XmlWriter)
WriteStartDocument()

Hiermee schrijft u de XML-declaratie met versie 1.0.

WriteStartDocument(Boolean)

Hiermee schrijft u de XML-declaratie met versie 1.0 en het zelfstandige kenmerk.

WriteStartDocumentAsync()

Asynchroon schrijft de XML-declaratie met versie 1.0.

(Overgenomen van XmlWriter)
WriteStartDocumentAsync(Boolean)

Asynchroon schrijft de XML-declaratie met versie 1.0 en het zelfstandige kenmerk.

(Overgenomen van XmlWriter)
WriteStartElement(String, String, String)

Hiermee schrijft u de opgegeven starttag en koppelt u deze aan de opgegeven naamruimte en het voorvoegsel.

WriteStartElement(String, String)

Wanneer deze wordt overschreven in een afgeleide klasse, schrijft u de opgegeven starttag en koppelt u deze aan de opgegeven naamruimte.

(Overgenomen van XmlWriter)
WriteStartElement(String)

Wanneer deze wordt overschreven in een afgeleide klasse, schrijft u een starttag uit met de opgegeven lokale naam.

(Overgenomen van XmlWriter)
WriteStartElementAsync(String, String, String)

Schrijft asynchroon de opgegeven starttag en koppelt deze aan de opgegeven naamruimte en het voorvoegsel.

(Overgenomen van XmlWriter)
WriteString(String)

Hiermee schrijft u de opgegeven tekstinhoud.

WriteStringAsync(String)

Schrijft asynchroon de opgegeven tekstinhoud.

(Overgenomen van XmlWriter)
WriteSurrogateCharEntity(Char, Char)

Hiermee genereert en schrijft u de surrogaattekenentiteit voor het surrogaattekenpaar.

WriteSurrogateCharEntityAsync(Char, Char)

Asynchroon genereert en schrijft de surrogaattekenentiteit voor het surrogaattekenpaar.

(Overgenomen van XmlWriter)
WriteValue(Boolean)

Hiermee schrijft u een Boolean waarde.

(Overgenomen van XmlWriter)
WriteValue(DateTime)

Hiermee schrijft u een DateTime waarde.

(Overgenomen van XmlWriter)
WriteValue(DateTimeOffset)

Hiermee schrijft u een DateTimeOffset waarde.

(Overgenomen van XmlWriter)
WriteValue(Decimal)

Hiermee schrijft u een Decimal waarde.

(Overgenomen van XmlWriter)
WriteValue(Double)

Hiermee schrijft u een Double waarde.

(Overgenomen van XmlWriter)
WriteValue(Int32)

Hiermee schrijft u een Int32 waarde.

(Overgenomen van XmlWriter)
WriteValue(Int64)

Hiermee schrijft u een Int64 waarde.

(Overgenomen van XmlWriter)
WriteValue(Object)

Hiermee schrijft u de objectwaarde.

(Overgenomen van XmlWriter)
WriteValue(Single)

Hiermee schrijft u een drijvendekommagetal met één precisie.

(Overgenomen van XmlWriter)
WriteValue(String)

Hiermee schrijft u een String waarde.

(Overgenomen van XmlWriter)
WriteWhitespace(String)

Hiermee wordt de opgegeven witruimte weggeschreven.

WriteWhitespaceAsync(String)

Asynchroon schrijft de opgegeven witruimte uit.

(Overgenomen van XmlWriter)

Expliciete interface-implementaties

Name Description
IDisposable.Dispose()

Zie voor een beschrijving van dit lid Dispose().

(Overgenomen van XmlWriter)

Extensiemethoden

Name Description
ConfigureAwait(IAsyncDisposable, Boolean)

Hiermee configureert u hoe wacht op de taken die worden geretourneerd op basis van een asynchroon wegwerp, worden uitgevoerd.

Van toepassing op

Zie ook