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.