XmlTextWriter Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A W3C Bővíthető korrektúranyelv (XML) 1.0-s verziójának és az XML-javaslatokban szereplő névtereknek megfelelő XML-adatokat tartalmazó adatfolyamok vagy fájlok gyors, nem gyorsítótárazott, csak továbbítható létrehozásának módja.
Javasoljuk, hogy inkább az osztályt XmlWriter használja.
public ref class XmlTextWriter : System::Xml::XmlWriter
public class XmlTextWriter : System.Xml.XmlWriter
type XmlTextWriter = class
inherit XmlWriter
Public Class XmlTextWriter
Inherits XmlWriter
- Öröklődés
Megjegyzések
Az XmlTextWriter osztály megvalósítja az osztályt XmlWriter .
Megjegyzés:
Javasoljuk, hogy a XmlWriter metódus és a XmlWriter.Create osztály használatával hozzon létre XmlWriterSettings példányokat az új funkciók előnyeinek kihasználásához.
XmlTextWriter az aktuális elemveremben definiált összes névtérnek megfelelő névtérvermet tart fenn. A használatával XmlTextWriter manuálisan deklarálhatja a névtereket.
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();
Ez a C#-kód a következő kimenetet hozza létre.
XmlTextWriter felhelyezi a névtérdeklarációt a gyökérelemre, hogy elkerülje annak megismétlődését a két gyermekelemen. A gyermekelemek felveszik az előtagot a névtér-deklarációból.
<root xmlns:x="urn:1">
<x:item/>
<x:item/>
</root>
XmlTextWriter lehetővé teszi az aktuális névtér-deklaráció felülbírálását is. Az alábbi példában az "123" névtér URI-t felülírja az "abc" az XML-elem <x:node xmlns:x="abc"/>létrehozásához.
w.WriteStartElement("x","node","123");
w.WriteAttributeString("xmlns","x",null,"abc");
Az előtagot argumentumként használó írási metódusok használatával megadhatja azt is, hogy melyik előtagot használja. **
Az alábbi példában két különböző előtag van leképezve ugyanarra a névtér URI-ra az XML-szöveg <x:root xmlns:x="urn:1"><y:item xmlns:y="urn:1"/></x:root> létrehozásához.
XmlTextWriter w = new XmlTextWriter(Console.Out);
w.WriteStartElement("x","root","urn:1");
w.WriteStartElement("y","item","urn:1");
w.WriteEndElement();
w.WriteEndElement();
w.Close();
Ha több névtér-deklaráció is megfelelteti a különböző előtagokat ugyanarra a névtér URI-ra, XmlTextWriter a névtér-deklarációk halmát hátrafelé haladva kiválasztja a legközelebbit.
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();
Ebben a C#-példában, mivel a WriteAttributeString hívás nem ad meg előtagot, az író a névtérverembe leküldött utolsó előtagot használja, és a következő XML-fájlt állítja elő:
<x:root xmlns:x="urn:1">
<y:item y:attr="123" xmlns:y="urn:1" />
</x:root>
Ha névtérütközések lépnek fel, XmlTextWriter alternatív előtagok létrehozásával oldja fel őket. Ha például egy attribútum és elem ugyanazzal az előtaggal, de eltérő névtérrel rendelkezik, XmlWriter az attribútumhoz egy alternatív előtagot hoz létre. A létrehozott előtagok neve n{i}, ahol i egy 1-től kezdődő szám. A szám minden elemnél 1-esre lesz visszaállítva.
A névtér URI-hoz társított attribútumoknak előtaggal kell rendelkezniük (az alapértelmezett névterek nem vonatkoznak az attribútumokra). Ez megfelel a W3C-névterek 5.2. szakaszának az XML-javaslatban. Ha egy attribútum névtér URI-ra hivatkozik, de nem ad meg előtagot, az író létrehoz egy előtagot az attribútumhoz.
Üres elem írásakor például a címke neve és a záró címke <item />között további térköz lesz hozzáadva. Ez kompatibilitást biztosít a régebbi böngészőkkel.
Ha egy String metódusparamétert használnak, null és String.Empty egyenértékűek.
String.Empty A W3C-szabályokat követi.
Az erősen típusos adatok írásához használja a XmlConvert osztályt az adattípusok sztringgé alakításához. A következő C#-kód például átalakítja az adatokat az elemre DoubleString , és megírja az elemet <price>19.95</price>.
Double price = 19.95;
writer.WriteElementString("price", XmlConvert.ToString(price));
XmlTextWriter nem ellenőrzi a következőket:
- Érvénytelen karakterek az attribútum- és elemnevekben.
- Unicode-karakterek, amelyek nem felelnek meg a megadott kódolásnak. Ha a Unicode-karakterek nem felelnek meg a megadott kódolásnak, a
XmlTextWriternem alakítja át a Unicode-karaktereket karakterentitásokká. - Ismétlődő attribútumok.
- A DOCTYPE nyilvános azonosítójának vagy rendszerazonosítójának karakterei.
Biztonsági megfontolások
Az osztály használata XmlTextWriter során az alábbi elemeket érdemes figyelembe venni.
A kivételek által bevezetett kivételek közzétehetik az XmlTextWriter elérésiút-információkat, amelyeket nem szeretne felbuborítani az alkalmazásba. Az alkalmazásoknak ki kell szűrniük a kivételeket, és megfelelően kell feldolgozni őket.
Amikor átad egy XmlTextWriter másik alkalmazásnak, az alapul szolgáló adatfolyam hozzáférhetővé válik a másik alkalmazás számára. Ha egy félig megbízható alkalmazásnak kell átadnia a XmlTextWriter műveletet, akkor inkább a XmlWriterCreate metódus által létrehozott objektumot kell használnia.
A XmlTextWriter nem ellenőrzi a WriteDocType vagy a WriteRaw metódusoknak átadott adatokat. Ezekhez a módszerekhez nem szabad tetszőleges adatokat átadni.
Ha az alapértelmezett beállítások módosulnak, nincs garancia arra, hogy a létrehozott kimenet megfelelően formázott XML-adatok.
Nem megbízható forrásból származó támogató összetevőket, például Encoding objektumokat nem fogad el.
Konstruktorok
| Name | Description |
|---|---|
| XmlTextWriter(Stream, Encoding) |
Létrehozza az osztály egy példányát a |
| XmlTextWriter(String, Encoding) |
Létrehozza az XmlTextWriter osztály egy példányát a megadott fájl használatával. |
| XmlTextWriter(TextWriter) |
Létrehozza az osztály egy példányát |
Tulajdonságok
| Name | Description |
|---|---|
| BaseStream |
Lekéri a mögöttes streamobjektumot. |
| Formatting |
A kimenet formázását jelzi. |
| Indentation |
Lekérdezi vagy beállítja, hogy hány Behúzásdiagramot írjon a hierarchia egyes szintjeihez, ha Formatting a beállítás értéke |
| IndentChar |
Lekérdezi vagy beállítja, hogy melyik karaktert használja a behúzáshoz, ha Formatting be van állítva |
| Namespaces |
Lekéri vagy beállítja a névtértámogatást jelző értéket. |
| QuoteChar |
Lekérdezi vagy beállítja, hogy melyik karaktert használja az attribútumértékek idézéséhez. |
| Settings |
Lekéri a XmlWriterSettings példány létrehozásához XmlWriter használt objektumot. (Öröklődés forrása XmlWriter) |
| WriteState |
Megkapja az író állapotát. |
| XmlLang |
Lekéri az aktuális |
| XmlSpace |
XmlSpace Lekéri az aktuális |
Metódusok
| Name | Description |
|---|---|
| Close() |
Bezárja ezt a streamet és a mögöttes streamet. |
| Dispose() |
Az osztály aktuális példánya által használt összes erőforrást felszabadítja XmlWriter . (Öröklődés forrása XmlWriter) |
| Dispose(Boolean) |
Felszabadítja a felügyelt erőforrások által XmlWriter használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat. (Öröklődés forrása XmlWriter) |
| DisposeAsync() |
A nem felügyelt erőforrások aszinkron felszabadításával, felszabadításával vagy alaphelyzetbe állításával kapcsolatos alkalmazásalapú feladatokat hajt végre. (Öröklődés forrása XmlWriter) |
| DisposeAsyncCore() |
A felügyelt erőforrások aszinkron felszabadításával, felszabadításával vagy alaphelyzetbe állításával kapcsolatos alkalmazásalapú feladatokat hajt végre. (Öröklődés forrása XmlWriter) |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| Flush() |
Kiüríti a pufferben lévő elemet a mögöttes adatfolyamokra, és a mögöttes streamet is kiüríti. |
| FlushAsync() |
Aszinkron módon kiüríti a pufferben lévő elemet a mögöttes adatfolyamokra, és a mögöttes adatfolyamot is kiüríti. (Öröklődés forrása XmlWriter) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| LookupPrefix(String) |
A névtér URI-jának aktuális névtér-hatókörében definiált legközelebbi előtagot adja vissza. |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
| WriteAttributes(XmlReader, Boolean) |
Ha egy származtatott osztályban felül van bírálva, a rendszer kiírja az összes attribútumot, amely a jelenlegi pozícióban található a XmlReader. (Öröklődés forrása XmlWriter) |
| WriteAttributesAsync(XmlReader, Boolean) |
Aszinkron módon írja ki az összes attribútumot, amely a jelenlegi pozícióban található a XmlReader. (Öröklődés forrása XmlWriter) |
| WriteAttributeString(String, String, String, String) |
Ha egy származtatott osztályban felül van bírálva, a megadott előtaggal, helyi névvel, névtér URI-val és értékkel írja ki az attribútumot. (Öröklődés forrása XmlWriter) |
| WriteAttributeString(String, String, String) |
Ha egy származtatott osztályban felül van bírálva, ír egy attribútumot a megadott helyi névvel, névtér URI-val és értékkel. (Öröklődés forrása XmlWriter) |
| WriteAttributeString(String, String) |
Ha egy származtatott osztályban felül van bírálva, a megadott helyi névvel és értékkel írja ki az attribútumot. (Öröklődés forrása XmlWriter) |
| WriteAttributeStringAsync(String, String, String, String) |
Aszinkron módon írja ki az attribútumot a megadott előtaggal, helyi névvel, névtér URI-val és értékkel. (Öröklődés forrása XmlWriter) |
| WriteBase64(Byte[], Int32, Int32) |
A megadott bináris bájtokat base64-ként kódolja, és az eredményként kapott szöveget írja ki. |
| WriteBase64Async(Byte[], Int32, Int32) |
Aszinkron módon a megadott bináris bájtokat Base64-ként kódolja, és az eredményül kapott szöveget írja ki. (Öröklődés forrása XmlWriter) |
| WriteBinHex(Byte[], Int32, Int32) |
A megadott bináris bájtokat binhexként kódolja, és az eredményül kapott szöveget írja ki. |
| WriteBinHexAsync(Byte[], Int32, Int32) |
Aszinkron módon kódolja a megadott bináris bájtokat, és |
| WriteCData(String) |
Kiír egy <![ CDATA[...]]> a megadott szöveget tartalmazó blokk. |
| WriteCDataAsync(String) |
Aszinkron módon ír ki egy <![ CDATA[...]]> a megadott szöveget tartalmazó blokk. (Öröklődés forrása XmlWriter) |
| WriteCharEntity(Char) |
Kényszeríti a megadott Unicode-karakterértékhez tartozó karakterentitás létrehozását. |
| WriteCharEntityAsync(Char) |
Aszinkron módon kényszeríti egy karakterentitás létrehozását a megadott Unicode-karakterértékhez. (Öröklődés forrása XmlWriter) |
| WriteChars(Char[], Int32, Int32) |
Egyszerre csak egy puffert ír. |
| WriteCharsAsync(Char[], Int32, Int32) |
Aszinkron módon egyszerre egy puffert ír. (Öröklődés forrása XmlWriter) |
| WriteComment(String) |
A megadott szöveget tartalmazó megjegyzést <--...--> ír ki. |
| WriteCommentAsync(String) |
Aszinkron módon írja ki a megadott szöveget tartalmazó megjegyzést <--...--> . (Öröklődés forrása XmlWriter) |
| WriteDocType(String, String, String, String) |
A DOCTYPE deklarációt a megadott névvel és opcionális attribútumokkal írja. |
| WriteDocTypeAsync(String, String, String, String) |
Aszinkron módon írja a DOCTYPE deklarációt a megadott névvel és opcionális attribútumokkal. (Öröklődés forrása XmlWriter) |
| WriteElementString(String, String, String, String) |
A megadott előtaggal, helyi névvel, névtér URI-val és értékkel rendelkező elemet ír. (Öröklődés forrása XmlWriter) |
| WriteElementString(String, String, String) |
A megadott helyi névvel, névtér URI-val és értékkel rendelkező elemet ír. (Öröklődés forrása XmlWriter) |
| WriteElementString(String, String) |
A megadott helyi névvel és értékkel rendelkező elemet ír. (Öröklődés forrása XmlWriter) |
| WriteElementStringAsync(String, String, String, String) |
Aszinkron módon ír egy elemet a megadott előtaggal, helyi névvel, névtér URI-val és értékkel. (Öröklődés forrása XmlWriter) |
| WriteEndAttribute() |
Bezárja az előző WriteStartAttribute(String, String, String) hívást. |
| WriteEndAttributeAsync() |
Aszinkron módon bezárja az előző WriteStartAttribute(String, String) hívást. (Öröklődés forrása XmlWriter) |
| WriteEndDocument() |
Bezárja a megnyitott elemeket vagy attribútumokat, és visszaállítja az írót a Start állapotba. |
| WriteEndDocumentAsync() |
Aszinkron módon bezár minden nyitott elemet vagy attribútumot, és visszaállítja az írót a Start állapotba. (Öröklődés forrása XmlWriter) |
| WriteEndElement() |
Bezár egy elemet, és a megfelelő névtér hatókörét ugratja ki. |
| WriteEndElementAsync() |
Aszinkron módon bezár egy elemet, és a megfelelő névtér-hatókört ugratja ki. (Öröklődés forrása XmlWriter) |
| WriteEntityRef(String) |
Entitáshivatkozást ír ki a következőképpen |
| WriteEntityRefAsync(String) |
Aszinkron módon egy entitáshivatkozást ír ki a következőképpen |
| WriteFullEndElement() |
Bezár egy elemet, és a megfelelő névtér hatókörét ugratja ki. |
| WriteFullEndElementAsync() |
Aszinkron módon bezár egy elemet, és a megfelelő névtér-hatókört ugratja ki. (Öröklődés forrása XmlWriter) |
| WriteName(String) |
Kiírja a megadott nevet, biztosítva, hogy a W3C XML 1.0-javaslatnak megfelelően érvényes név legyen. |
| WriteNameAsync(String) |
Aszinkron módon írja ki a megadott nevet, biztosítva, hogy érvényes név legyen a W3C XML 1.0 javaslat (https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name) szerint. (Öröklődés forrása XmlWriter) |
| WriteNmToken(String) |
Kiírja a megadott nevet, biztosítva, hogy a |
| WriteNmTokenAsync(String) |
Aszinkron módon írja ki a megadott nevet, biztosítva, hogy érvényes NmToken legyen a W3C XML 1.0 javaslat (https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name) szerint. (Öröklődés forrása XmlWriter) |
| WriteNode(XmlReader, Boolean) |
Ha felül van bírálva egy származtatott osztályban, az olvasótól az íróig mindent átmásolt, és az olvasót a következő testvér elejére helyezi. (Öröklődés forrása XmlWriter) |
| WriteNode(XPathNavigator, Boolean) |
Mindent átmásolja az XPathNavigator objektumból az írónak. A helyzet XPathNavigator változatlan marad. (Öröklődés forrása XmlWriter) |
| WriteNodeAsync(XmlReader, Boolean) |
Aszinkron módon mindent átmásolja az olvasótól az íróig, és az olvasót a következő testvér elejére helyezi. (Öröklődés forrása XmlWriter) |
| WriteNodeAsync(XPathNavigator, Boolean) |
Aszinkron módon másol mindent az XPathNavigator objektumból az íróba. A helyzet XPathNavigator változatlan marad. (Öröklődés forrása XmlWriter) |
| WriteProcessingInstruction(String, String) |
A következő módon ír ki egy feldolgozási utasítást, amely szóközzel rendelkezik a név és a szöveg között: <?névszöveg?>. |
| WriteProcessingInstructionAsync(String, String) |
Aszinkron módon egy feldolgozási utasítást ír ki a név és a szöveg közötti szóközzel a következőképpen: <?name text?>. (Öröklődés forrása XmlWriter) |
| WriteQualifiedName(String, String) |
Kiírja a névtér által minősített nevet. Ez a metódus megkeresi a megadott névtér hatókörében lévő előtagot. |
| WriteQualifiedNameAsync(String, String) |
Aszinkron módon írja ki a névtér által minősített nevet. Ez a metódus megkeresi a megadott névtér hatókörében lévő előtagot. (Öröklődés forrása XmlWriter) |
| WriteRaw(Char[], Int32, Int32) |
Kézzel ír nyers korrektúrát egy karakterpufferből. |
| WriteRaw(String) |
Manuálisan ír nyers korrektúrát egy sztringből. |
| WriteRawAsync(Char[], Int32, Int32) |
Aszinkron módon manuálisan ír nyers korrektúrát egy karakterpufferből. (Öröklődés forrása XmlWriter) |
| WriteRawAsync(String) |
Aszinkron módon manuálisan ír nyers korrektúrát egy sztringből. (Öröklődés forrása XmlWriter) |
| WriteStartAttribute(String, String, String) |
Egy attribútum kezdetét írja. |
| WriteStartAttribute(String, String) |
Egy attribútum kezdetét írja meg a megadott helyi névvel és névtér URI-val. (Öröklődés forrása XmlWriter) |
| WriteStartAttribute(String) |
Egy attribútum kezdetét írja meg a megadott helyi névvel. (Öröklődés forrása XmlWriter) |
| WriteStartAttributeAsync(String, String, String) |
Aszinkron módon írja egy attribútum kezdetét a megadott előtaggal, helyi névvel és névtér URI-val. (Öröklődés forrása XmlWriter) |
| WriteStartDocument() |
Az XML-deklarációt az "1.0" verzióval írja. |
| WriteStartDocument(Boolean) |
Az XML-deklarációt az "1.0" verzióval és az önálló attribútummal írja. |
| WriteStartDocumentAsync() |
Aszinkron módon írja az XML-deklarációt az "1.0" verzióval. (Öröklődés forrása XmlWriter) |
| WriteStartDocumentAsync(Boolean) |
Aszinkron módon írja az XML-deklarációt az "1.0" verzióval és az önálló attribútummal. (Öröklődés forrása XmlWriter) |
| WriteStartElement(String, String, String) |
Megírja a megadott kezdőcímkét, és társítja a megadott névtérrel és előtaggal. |
| WriteStartElement(String, String) |
Ha felül van bírálva egy származtatott osztályban, megírja a megadott kezdőcímkét, és társítja a megadott névtérrel. (Öröklődés forrása XmlWriter) |
| WriteStartElement(String) |
Ha felül van bírálva egy származtatott osztályban, egy kezdőcímkét ír ki a megadott helyi névvel. (Öröklődés forrása XmlWriter) |
| WriteStartElementAsync(String, String, String) |
Aszinkron módon megírja a megadott kezdőcímkét, és társítja a megadott névtérhez és előtaghoz. (Öröklődés forrása XmlWriter) |
| WriteString(String) |
A megadott szöveges tartalmat írja. |
| WriteStringAsync(String) |
Aszinkron módon írja a megadott szöveges tartalmat. (Öröklődés forrása XmlWriter) |
| WriteSurrogateCharEntity(Char, Char) |
Létrehozza és megírja a helyettesítő karakter entitást a helyettesítő karakterpárhoz. |
| WriteSurrogateCharEntityAsync(Char, Char) |
Aszinkron módon létrehozza és megírja a helyettesítő karakter entitást a helyettesítő karakterpárhoz. (Öröklődés forrása XmlWriter) |
| WriteValue(Boolean) |
Boolean Értéket ír. (Öröklődés forrása XmlWriter) |
| WriteValue(DateTime) |
DateTime Értéket ír. (Öröklődés forrása XmlWriter) |
| WriteValue(DateTimeOffset) |
DateTimeOffset Értéket ír. (Öröklődés forrása XmlWriter) |
| WriteValue(Decimal) |
Decimal Értéket ír. (Öröklődés forrása XmlWriter) |
| WriteValue(Double) |
Double Értéket ír. (Öröklődés forrása XmlWriter) |
| WriteValue(Int32) |
Int32 Értéket ír. (Öröklődés forrása XmlWriter) |
| WriteValue(Int64) |
Int64 Értéket ír. (Öröklődés forrása XmlWriter) |
| WriteValue(Object) |
Az objektumérték írása. (Öröklődés forrása XmlWriter) |
| WriteValue(Single) |
Egy pontosságú lebegőpontos számot ír. (Öröklődés forrása XmlWriter) |
| WriteValue(String) |
String Értéket ír. (Öröklődés forrása XmlWriter) |
| WriteWhitespace(String) |
A megadott üres területet írja ki. |
| WriteWhitespaceAsync(String) |
Aszinkron módon írja ki a megadott fehér területet. (Öröklődés forrása XmlWriter) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Ennek a tagnak a leírását lásd Dispose(): . (Öröklődés forrása XmlWriter) |
Bővítő metódusok
| Name | Description |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
Konfigurálja, hogy az aszinkron eldobható feladatok hogyan lesznek végrehajtva. |