[Esta documentación se proporciona solo para fines preliminares y está sujeta a cambios en versiones posteriores. Se incluye temas en blanco como marcadores].
Representa un programador que proporciona un método rápido, sin almacenamiento en memoria caché, de avance y generar secuencias o archivos que contienen datos XML que se ajusta a W3C el lenguaje de marcado extensible (XML) 1,0 y los espacios de nombres en recomendaciones XML.
System.Xml.XmlWriter
System.Xml.XmlTextWriter
Espacio de nombres: System.Xml
Ensamblado: System.Xml (en System.Xml.dll)
Public Class XmlTextWriter _ Inherits XmlWriter
public class XmlTextWriter : XmlWriter
public ref class XmlTextWriter : public XmlWriter
type XmlTextWriter = class inherit XmlWriter end
El tipo XmlTextWriter expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
XmlTextWriter(TextWriter) | Crea una instancia de la clase de XmlTextWriter mediante TextWriterespecificado. |
|
XmlTextWriter(Stream, Encoding) | Crea una instancia de la clase de XmlTextWriter utilizando la secuencia y la codificación especificadas. |
|
XmlTextWriter(String, Encoding) | Crea una instancia de la clase de XmlTextWriter utilizando el archivo especificado. |
| Nombre | Descripción | |
|---|---|---|
|
BaseStream | obtiene el objeto de la secuencia subyacente. |
|
Formatting | Indica cómo se da formato a la salida. |
|
Indentation | Obtiene o establece el IndentChars a escribir para cada nivel de la jerarquía cuando Formatting se establece en Formatting.Indented. |
|
IndentChar | Obtiene o establece qué carácter que se utiliza para aplicar sangría a Formatting se establece en Formatting.Indented. |
|
Namespaces | Obtiene o establece un valor que indica si realizar la compatibilidad del espacio de nombres. |
|
QuoteChar | Obtiene o establece qué carácter se debe utilizar para creación valores de atributo. |
|
Settings | Obtiene el objeto XmlWriterSettings que se usa para crear esta instancia de XmlWriter. (Se hereda de XmlWriter). |
|
WriteState | Obtiene el estado del programador. (Invalida a XmlWriter.WriteState). |
|
XmlLang | obtiene el ámbito actual de xml:lang . (Invalida a XmlWriter.XmlLang). |
|
XmlSpace | obtiene XmlSpace que representa el ámbito actual de xml:space . (Invalida a XmlWriter.XmlSpace). |
| Nombre | Descripción | |
|---|---|---|
|
Close | Cierre esta secuencia y la secuencia subyacente. (Invalida a XmlWriter.Close()). |
|
Dispose() | Libera todos los recursos usados por la instancia actual de la clase XmlWriter. (Se hereda de XmlWriter). |
|
Dispose(Boolean) | Libera los recursos no administrados que utiliza el objeto XmlWriter y, opcionalmente, los recursos administrados. (Se hereda de XmlWriter). |
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). |
|
Flush | Vacía lo que haya en el búfer en secuencias subyacentes y también vacía la secuencia subyacente. (Invalida a XmlWriter.Flush()). |
|
FlushAsync | Vaciados de forma asincrónica contenido en el búfer en las secuencias subyacentes y también vuelca la secuencia subyacente. (Se hereda de XmlWriter). |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
LookupPrefix | Devuelve el prefijo más próximo definido en el ámbito actual del espacio de nombres del identificador URI de espacio de nombres. (Invalida a XmlWriter.LookupPrefix(String)). |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
|
WriteAttributes | Cuando se invalida en una clase derivada, escribe todos los atributos que se encuentran en la posición actual en XmlReader. (Se hereda de XmlWriter). |
|
WriteAttributesAsync | Asincrónicamente escribe todos los atributos encontrados en la posición actual en el XmlReader. (Se hereda de XmlWriter). |
|
WriteAttributeString(String, String) | Cuando se invalida en una clase derivada, escribe el atributo con el valor y nombre local especificados. (Se hereda de XmlWriter). |
|
WriteAttributeString(String, String, String) | Cuando se invalida en una clase derivada, escribe un atributo con el valor, nombre local e identificador URI del espacio de nombres especificados. (Se hereda de XmlWriter). |
|
WriteAttributeString(String, String, String, String) | Cuando se invalida en una clase derivada, escribe el atributo con el prefijo, el nombre local, el identificador URI de espacio de nombres y el valor especificados. (Se hereda de XmlWriter). |
|
WriteAttributeStringAsync | Escribe el atributo con el prefijo especificado, el nombre local, el URI de espacio de nombres y el valor asincrónicamente. (Se hereda de XmlWriter). |
|
WriteBase64 | Codifica los bytes binarios especificados como base64 y el texto en tipo resultante. (Invalida a XmlWriter.WriteBase64(Byte[], Int32, Int32)). |
|
WriteBase64Async | Asincrónica codifica los bytes binarios especificados en Base64 y escribe el texto resultante. (Se hereda de XmlWriter). |
|
WriteBinHex | Codifica los bytes binarios especificados como Binhex y el texto en tipo resultante. (Invalida a XmlWriter.WriteBinHex(Byte[], Int32, Int32)). |
|
WriteBinHexAsync | Codifica los bytes binarios especificados como de forma asincrónica BinHex y escribe el texto resultante. (Se hereda de XmlWriter). |
|
WriteCData | Se coloca un < en escriba! [CDATA [...]] > bloqueado contiene el texto especificado. (Invalida a XmlWriter.WriteCData(String)). |
|
WriteCDataAsync | Escribe asincrónicamente un <![CDATA [...]]> bloque que contiene el texto especificado. (Se hereda de XmlWriter). |
|
WriteCharEntity | Fuerza la compilación de una entidad de caracteres por el valor especificado de caracteres Unicode. (Invalida a XmlWriter.WriteCharEntity(Char)). |
|
WriteCharEntityAsync | Asincrónicamente impone la generación de una entidad de caracteres para el valor de carácter Unicode especificado. (Se hereda de XmlWriter). |
|
WriteChars | Búfer de texto uno de las etiquetas al mismo tiempo. (Invalida a XmlWriter.WriteChars(Char[], Int32, Int32)). |
|
WriteCharsAsync | Asincrónicamente escribe texto un búfer a la vez. (Se hereda de XmlWriter). |
|
WriteComment | Se coloca un comentario en tipo <! --… --> que contiene el texto especificado. (Invalida a XmlWriter.WriteComment(String)). |
|
WriteCommentAsync | Asincrónicamente escribe un comentario <!--...--> que contiene el texto especificado. (Se hereda de XmlWriter). |
|
WriteDocType | escribe la declaración DOCTYPE con el nombre especificado y los atributos opcionales. (Invalida a XmlWriter.WriteDocType(String, String, String, String)). |
|
WriteDocTypeAsync | Escribe de forma asincrónica la declaración DOCTYPE con el nombre especificado y los atributos opcionales. (Se hereda de XmlWriter). |
|
WriteElementString(String, String) | Escribe un elemento con el nombre local y el valor especificados. (Se hereda de XmlWriter). |
|
WriteElementString(String, String, String) | Escribe un elemento con el nombre local especificado, el URI de espacio de nombres y el valor. (Se hereda de XmlWriter). |
|
WriteElementString(String, String, String, String) | Escribe un elemento con el prefijo especificado, el nombre local, el URI de espacio de nombres y el valor. (Se hereda de XmlWriter). |
|
WriteElementStringAsync | Escribe de forma asincrónica un elemento con el prefijo especificado, el nombre local, el URI de espacio de nombres y el valor. (Se hereda de XmlWriter). |
|
WriteEndAttribute | Cierre la llamada anterior de WriteStartAttribute . (Invalida a XmlWriter.WriteEndAttribute()). |
|
WriteEndAttributeAsync | Asincrónicamente cierra la anterior WriteStartAttribute llamar. (Se hereda de XmlWriter). |
|
WriteEndDocument | Cierre los elementos abiertos o atributo y coloca la reproducción de programador en estado de inicio. (Invalida a XmlWriter.WriteEndDocument()). |
|
WriteEndDocumentAsync | Asincrónicamente cierra cualquier abrir elementos o atributos y vuelve a colocar el sistema de escritura en el estado de inicio. (Se hereda de XmlWriter). |
|
WriteEndElement | Cierra un elemento y saca el ámbito correspondiente del espacio de nombres. (Invalida a XmlWriter.WriteEndElement()). |
|
WriteEndElementAsync | Asincrónica cierra un elemento y extrae el ámbito de espacio de nombres correspondiente. (Se hereda de XmlWriter). |
|
WriteEntityRef | Coloca una referencia de entidad en tipo como &name;. (Invalida a XmlWriter.WriteEntityRef(String)). |
|
WriteEntityRefAsync | Asincrónicamente escribe una referencia de entidad como &name;. (Se hereda de XmlWriter). |
|
WriteFullEndElement | Cierra un elemento y saca el ámbito correspondiente del espacio de nombres. (Invalida a XmlWriter.WriteFullEndElement()). |
|
WriteFullEndElementAsync | Asincrónica cierra un elemento y extrae el ámbito de espacio de nombres correspondiente. (Se hereda de XmlWriter). |
|
WriteName | Coloca el nombre de tipo especificado, pero asegúrese de que sea un nombre válido según la recomendación del W3C XML 1,0 (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name). (Invalida a XmlWriter.WriteName(String)). |
|
WriteNameAsync | Asincrónicamente escribe el nombre especificado, asegurando que es un nombre válido según la recomendación 1.0 de XML del Consorcio W3C (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name). (Se hereda de XmlWriter). |
|
WriteNmToken | Coloca el nombre de tipo especificado, proporcionando así una es NmToken válido según la recomendación del W3C XML 1,0 (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name). (Invalida a XmlWriter.WriteNmToken(String)). |
|
WriteNmTokenAsync | Asincrónicamente escribe el nombre especificado, asegurando que es un NmToken válido de acuerdo con la recomendación 1.0 de XML del Consorcio W3C (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name). (Se hereda de XmlWriter). |
|
WriteNode(XmlReader, Boolean) | Cuando se invalida en una clase derivada, copia todo el contenido del lector en el sistema de escritura y desplaza el lector al inicio del siguiente nodo relacionado. (Se hereda de XmlWriter). |
|
WriteNode(XPathNavigator, Boolean) | Copia todo el contenido del objeto XPathNavigator en el sistema de escritura. La posición de XPathNavigator permanece inalterada. (Se hereda de XmlWriter). |
|
WriteNodeAsync(XmlReader, Boolean) | Asincrónica copia todo el contenido del lector en el sistema de escritura y desplaza el lector al inicio del siguiente nodo relacionado. (Se hereda de XmlWriter). |
|
WriteNodeAsync(XPathNavigator, Boolean) | Asincrónicamente, copia todo el contenido de la XPathNavigator objeto en el sistema de escritura. La posición de XPathNavigator permanece inalterada. (Se hereda de XmlWriter). |
|
WriteProcessingInstruction | Coloca una instrucción de procesamiento en escrito con un espacio entre el nombre y texto como sigue: ¿<? ¿texto nombre? >. (Invalida a XmlWriter.WriteProcessingInstruction(String, String)). |
|
WriteProcessingInstructionAsync | ¿Asincrónicamente escribe una instrucción de procesamiento con un espacio entre el nombre y el texto siguiente: <? nombre texto?>. (Se hereda de XmlWriter). |
|
WriteQualifiedName | Coloca el nombre completo de espacio de nombres de tipo. Este método busca el prefijo que está en el ámbito del espacio de nombres especificado. (Invalida a XmlWriter.WriteQualifiedName(String, String)). |
|
WriteQualifiedNameAsync | Escribe el nombre completo del espacio de nombres forma asincrónica. Este método busca el prefijo que está en el ámbito del espacio de nombres especificado. (Se hereda de XmlWriter). |
|
WriteRaw(String) | Escribe el marcado sin formato manualmente de una cadena. (Invalida a XmlWriter.WriteRaw(String)). |
|
WriteRaw(Char[], Int32, Int32) | Escribe el marcado sin formato manualmente de un búfer de caracteres. (Invalida a XmlWriter.WriteRaw(Char[], Int32, Int32)). |
|
WriteRawAsync(String) | Asincrónicamente manualmente escribe marcado sin formato desde una cadena. (Se hereda de XmlWriter). |
|
WriteRawAsync(Char[], Int32, Int32) | Asincrónicamente manualmente escribe marcado sin formato de un búfer de caracteres. (Se hereda de XmlWriter). |
|
WriteStartAttribute(String) | Escribe el inicio de un atributo con el nombre local especificado. (Se hereda de XmlWriter). |
|
WriteStartAttribute(String, String) | Escribe el inicio de un atributo con el URI de espacio de nombres y el nombre local especificados. (Se hereda de XmlWriter). |
|
WriteStartAttribute(String, String, String) | Escribe el inicio de un atributo. (Invalida a XmlWriter.WriteStartAttribute(String, String, String)). |
|
WriteStartAttributeAsync | Asincrónicamente escribe el inicio de un atributo con el prefijo especificado, el nombre local y el identificador URI de espacio de nombres. (Se hereda de XmlWriter). |
|
WriteStartDocument() | escribe la declaración XML con la versión “1,0". (Invalida a XmlWriter.WriteStartDocument()). |
|
WriteStartDocument(Boolean) | escribe la declaración XML con la versión “1,0" y el atributo independiente. (Invalida a XmlWriter.WriteStartDocument(Boolean)). |
|
WriteStartDocumentAsync() | Escribe de forma asincrónica la declaración XML con la versión "1.0". (Se hereda de XmlWriter). |
|
WriteStartDocumentAsync(Boolean) | Asincrónicamente escribe la declaración XML con la versión "1.0" y el atributo independiente. (Se hereda de XmlWriter). |
|
WriteStartElement(String) | Cuando se invalida en una clase derivada, escribe una etiqueta de apertura con el nombre local especificado. (Se hereda de XmlWriter). |
|
WriteStartElement(String, String) | Cuando se invalida en una clase derivada, escribe la etiqueta de apertura especificada y la asocia al espacio de nombres especificado. (Se hereda de XmlWriter). |
|
WriteStartElement(String, String, String) | Escribe la etiqueta de apertura especificada y la asocia al espacio de nombres y el prefijo especificados. (Invalida a XmlWriter.WriteStartElement(String, String, String)). |
|
WriteStartElementAsync | Asincrónica escribe la etiqueta de apertura especificada y lo asocia con el espacio de nombres y prefijo. (Se hereda de XmlWriter). |
|
WriteString | Escribe el contenido de texto especificado. (Invalida a XmlWriter.WriteString(String)). |
|
WriteStringAsync | Forma asincrónica, escribe el contenido de texto especificado. (Se hereda de XmlWriter). |
|
WriteSurrogateCharEntity | Genera y escribe la entidad suplente de caracteres para los pares suplentes de caracteres. (Invalida a XmlWriter.WriteSurrogateCharEntity(Char, Char)). |
|
WriteSurrogateCharEntityAsync | Genera de forma asincrónica y escribe la entidad para el par de caracteres suplentes de carácter. (Se hereda de XmlWriter). |
|
WriteValue(Boolean) | Escribe un valor Boolean. (Se hereda de XmlWriter). |
|
WriteValue(DateTime) | Escribe un valor DateTime. (Se hereda de XmlWriter). |
|
WriteValue(DateTimeOffset) | Escribe un valor DateTimeOffset. (Se hereda de XmlWriter). |
|
WriteValue(Decimal) | Escribe un valor Decimal. (Se hereda de XmlWriter). |
|
WriteValue(Double) | Escribe un valor Double. (Se hereda de XmlWriter). |
|
WriteValue(Int32) | Escribe un valor Int32. (Se hereda de XmlWriter). |
|
WriteValue(Int64) | Escribe un valor Int64. (Se hereda de XmlWriter). |
|
WriteValue(Object) | Escribe el valor del objeto. (Se hereda de XmlWriter). |
|
WriteValue(Single) | Escribe un número de punto flotante de precisión sencilla. (Se hereda de XmlWriter). |
|
WriteValue(String) | Escribe un valor String. (Se hereda de XmlWriter). |
|
WriteWhitespace | Coloca el espacio en blanco de tipo especificado. (Invalida a XmlWriter.WriteWhitespace(String)). |
|
WriteWhitespaceAsync | Escribe asincrónicamente el espacio en blanco especificado. (Se hereda de XmlWriter). |
| Nombre | Descripción | |
|---|---|---|
|
IDisposable.Dispose | Para obtener una descripción de este miembro, vea IDisposable.Dispose. (Se hereda de XmlWriter). |
esta clase implementa la clase de XmlWriter .
Note
|
|---|
|
En la versión de .NET Framework 2.0 , la práctica recomendada es crear instancias de XmlWriter utilizando el método de XmlWriter.Create y la clase de XmlWriterSettings . Esto permite aproveche completo de todas las nuevas características introducidas en esta versión. Para obtener más información, vea Creating XML Writers. |
XmlTextWriter mantiene una pila de espacio de nombres correspondiente a todos los espacios de nombres definidos en la pila del elemento actual. Mediante XmlTextWriter puede declarar espacios de nombres manualmente.
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();
El código anterior de C# genera el siguiente resultado. XmlTextWriter promueve la declaración de espacio de nombres al elemento raíz para evitar hacer duplicó en los dos elementos secundarios. Los elementos secundarios detecte el prefijo de la declaración de espacio de nombres.
<root xmlns:x="urn:1"> <x:item/> <x:item/> </x:root>
XmlTextWriter también le permite invalidar la declaración de espacio de nombres actual. En el siguiente ejemplo, el URI “123 " del espacio de nombres es reemplazado por “ABC” para mostrar el elemento XML <x:node xmlns:x="abc"/>.
w.WriteStartElement("x","node","123");
w.WriteAttributeString("xmlns","x",null,"abc");
Mediante los métodos write que toman un prefijo como un argumento que también puede especificar qué prefijo a utilizar. En el ejemplo siguiente, dos diferentes prefijos asignados al mismo URI de espacio de nombres para mostrar texto <x:root xmlns:x="urn:1"><y:item xmlns:y="urn:1"/></x:root>XML.
XmlTextWriter w = new XmlTextWriter(Console.Out);
w.WriteStartElement("x","root","urn:1");
w.WriteStartElement("y","item","urn:1");
w.WriteEndElement();
w.WriteEndElement();
w.Close();
Si hay declaraciones de espacio de nombres para que asignan diferentes prefijos al mismo URI de espacio de nombres, XmlTextWriter recorre la pila de declaraciones de espacio de nombres hacia atrás y seleccionar el más próximo.
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();
En el ejemplo anterior de C#, porque la llamada de WriteAttributeString no especifica un prefijo, el programador utiliza el prefijo último insertado en la pila de espacio de nombres, y genera XML siguiente:
<x:root xmlns:x="urn:1"> <y:item y:attr="123" xmlns:y="urn:1" /> </x:root>
Si los conflictos de espacio de nombres aparecen, XmlTextWriter los resuelve generando prefijos alternativos. Por ejemplo, si un atributo y un elemento tienen el mismo prefijo pero distintos espacios de nombres, XmlWriter genera un prefijo alternativo para el atributo. Los prefijos generados se denominan n{i} donde es un principio i number en 1. El número se restablece en 1 para cada elemento.
Atributos que están asociados con un URI de espacio de nombres deben tener un prefijo (los espacios de nombres predeterminados no se aplican a los atributos). esto se ajusta a la sección 5,2 de los espacios de nombres de W3C en la recomendación de XML. Si las referencias de un atributo un URI de espacio de nombres, pero no especifican un prefijo, el programador genera un prefijo para el atributo.
Al escribir un elemento vacío, un espacio adicional se agrega entre el nombre y la etiqueta de cierre, por ejemplo <item />de la etiqueta. esto proporciona compatibilidad con los exploradores más antiguos.
cuando String se utiliza como parámetro de método, null y String.Empty son equivalentes. String.Empty sigue las reglas del W3C.
para escribir datos fuertemente tipados, utilice la clase de XmlConvert para convertir tipos de datos a la cadena. Por ejemplo, el código de C# siguiente convierte los datos de Double a String y escribe el elemento <price>19.95</price>.
Double price = 19.95;
writer.WriteElementString("price", XmlConvert.ToString(price));
XmlTextWriter no comprueba lo siguiente:
-
Caracteres no válidos en nombres de atributo y elemento.
-
Caracteres Unicode que no se ajustan a la codificación especificada. Si los caracteres Unicode no se ajustan a la codificación especificada, XmlTextWriter no convierte caracteres Unicode en las entidades de caracteres.
-
atributos duplicados.
-
Caracteres del identificador público DOCTYPE o el identificador del sistema.
Para obtener más información sobre la escritura de XML, vea Writing XML with the XmlWriter.
Consideraciones de seguridad
Los elementos siguientes son elementos que se deben tener en cuenta al trabajar con la clase de XmlTextWriter .
-
Las excepciones producidas por XmlTextWriter pueden revelar información de ruta de acceso que no desea burbujeado hasta la aplicación. Las aplicaciones deben detectar excepciones y procesarlas adecuadamente.
-
Cuando se pasa XmlTextWriter a otra aplicación la secuencia subyacente se expone a esa aplicación. Si necesita pasar XmlTextWriter a una aplicación semi-confiada, debe utilizar un objeto de XmlWriter creado por el método de Create en su lugar.
-
XmlTextWriter no valida ningún dato que se pasa a los métodos de WriteDocType o de WriteRaw . No se debe pasar datos arbitrarios a estos métodos.
-
Si cambia la configuración predeterminada, no hay ninguna garantía de que los resultados sean datos de XML correcto.
-
No acepte admitir los componentes, como un objeto de Encoding , de un origen que no es de confianza.
.NET Framework
Compatible con: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Compatible con: 4, 3.5 SP1Windows 8 Release Preview, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Note