Escribir datos XML

1. February 2009 21:28 by Oscar.SS in XML  //  Tags:   //   Comments (6)

De alguna forma, este artículo es una continuación de "Lectura de datos XML" que vimos hace algunos días. Por este motivo recomiendo leer el artículo anterior para que sea más fácil familiarizarse con los conceptos que ahora veremos.

Para escribir datos en un archivo XML utilizaremos la clase XmlTextWriter que hereda de la clase XmlWriter. En cuanto a XmlWrite, veremos en otro artículo como utilizarla. Realmente su uso se parece bastante a lo que veremos aquí con XmlTextWriter  pero con algunos matices.

Los métodos que utilizaremos de la clase XmlTextWriter son los siguientes:

  • XmlTextWriter.WriteStartDocument(): Este método escribe la declaración XML con la versión 1.0.
  • XmlTextWriter.WriteStartElement(): Escribe el comienzo de un nodo.
  • XmlTextWriter.WriteElementString(): Se utiliza para escribir el contenido de cadena de un elemento.
  • XmlTextWriter.Flush(): Escribe todo el contenido almacenado en el bufer en el archivo XML.

Ahora veremos una función que escribe el mismo esquema de datos XML que vimos en "Lectura de datos XML".

 

public void EscribirXml(string id, string nom, string ape, string nss, string fijo, string mvl)
      {
         
//Creamos el escritor.
         
using (XmlTextWriter Writer = new XmlTextWriter(Ruta, Encoding.Unicode))
         {
            
//Declaración inicial del Xml.
            
Writer.WriteStartDocument();

            
//Configuración.
            
Writer.Formatting Formatting.Indented;
            
Writer.Indentation 5;

            
//Escribimos el nodo principal.
            
Writer.WriteStartElement("empleados");

            
//Escribimos un nodo empleado.
            
Writer.WriteStartElement("empleado");

            
//Escribimos cada uno de los elementos del nodo empleado.
            
Writer.WriteElementString("idEmpleado", id);
            
Writer.WriteElementString("nombre", nom);
            
Writer.WriteElementString("apellidos", ape);
            
Writer.WriteElementString("numeroSS", nss);
            
//Escribimos el subnodo teléfono.
            
Writer.WriteStartElement("telefonos");
            
Writer.WriteElementString("fijo", fijo);
            
Writer.WriteElementString("movil", mvl);
            
            
//Cerramos el nodo y el documento.
            
Writer.WriteEndElement();
            
Writer.WriteEndDocument();
            
Writer.Flush();
         
}
      }
Como se puede apreciar no tiene ninguna dificultad. Otro día comentaremos como incluir nuevos registros al final de un archivo XML.

Comments (6) -

Roberto
Roberto
4/23/2009 5:05:15 AM #

Señor Oscar podria explicar como incluir nuevos registros al final de un archivo XML.

Oscar
Oscar
4/23/2009 1:13:17 PM #

Hola Roberto. Ahora mismo estoy un poco pillado de tiempo pero te prometo escribir un artículo sobre ello en breve.

Muchas gracias por tu interés.

Un saludo.

gabriel puerta
gabriel puerta
11/13/2009 11:30:07 PM #

Oscar como estas estoy tratando de aprender, trabajo en c# .net pero no he podido correr me podrias explicar

gracias

Oscar.SS
Oscar.SS
11/14/2009 11:00:16 AM #

Hola Gabriel,

¿que quieres que te explique exactamente?. Concreta un poco en que quieres que te ayude.

Un saludo.

ANDRICK
ANDRICK
12/2/2012 1:58:19 AM #

using (XmlTextWriter Writer = new XmlTextWriter(Ruta, Encoding.Unicode))

QUE ES ESO DE LA RUTA

Oscar.SS
Oscar.SS
12/2/2012 7:32:53 AM #

Hola Andrick,

Ruta es una cadena que representa la ubicación de tu fichero XML en tu sistema. Si es una ruta física podría ser por ejemplo c:\nombreCarpeta\nombreArchivo.xml

Un saludo y gracias por comentar

Recent Comments

Comment RSS

Month List