añadir nodo a archivo XML

09/11/2007 - 12:40 por alfonso_C# | Informe spam
Hola amigos tengo un archivo XML que genere con el metodo WriteXML de
un DataSet pero me gustaria colocarle un nodo que englobe a todo el
documento , seria como el principal nodo con ciertos datos. Agradezco
de antemano su ayuda y muchisimas gracias por adelantado como siempre
(^_^)

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
09/11/2007 - 14:43 | Informe spam
"alfonso_C#" wrote in message
news:
Mostrar la cita
No lo he probado, pero me imagino que si haces el WriteXml a través de un
XmlTextWriter te dejará inyectarle el nodo adicional:

System.IO.FileStream stream = new System.IO.FileStream
(archivo, System.IO.FileMode.Create);

System.Xml.XmlTextWriter xmlWriter new System.Xml.XmlTextWriter(stream,
System.Text.Encoding.UTF8);

xmlWriter.WriteStartElement("MiElemento");
xmlWriter.WriteAttributeString("MiAtributo", "valor");

elDataSet.WriteXml(xmlWriter);

xmlWriter.WriteEndElement();

xmlWriter.Close();
#2 alfonso_C#
09/11/2007 - 17:16 | Informe spam
On 9 nov, 09:43, "Alberto Poblacion" <earthling-
wrote:
Mostrar la cita
Gracias pero me referia a un documento XML existente, poder colocarle
a dicho documento un nodo que englobe o agrupe los demás. :D
#3 Alberto Poblacion
09/11/2007 - 17:33 | Informe spam
"alfonso_C#" wrote in message
news:
Mostrar la cita
Bueno, puedes hacer aproximadamente lo mismo, es decir, usas un
XmlTextWriter para crear un documento nuevo, le añades con WriteStartElement
el nodo que quieres que abarque a los demás, y luego le inyectas con un
WriteElementString al contenido del fichero existente. Finalmente, lo
cierras con WriteEndElement.

Si no te gusta el XmlTextWriter, también puedes usar un XmlDocument, usar su
.Load para cargar el archivo existente, usar el DOM para inyectarle un nuevo
elemento en la raiz, y mover el resto por debajo de ese elemento. Luego lo
vuelves a salvar con su método .Save.

Finalmente, una alternativa más, es hacerlo "a lo bestia" con manupulaciones
de strings: Cargas el texto en una cadena con el ReadToEnd de un
StreamReader, le concatenas al principio el elemento deseado (y al final el
cierre del elemento), y lo vuelves a escribir con un StreamWriter.
#4 alfonso_C#
09/11/2007 - 18:13 | Informe spam
On 9 nov, 12:33, "Alberto Poblacion" <earthling-
wrote:
Mostrar la cita
Gracias Alberto. lo de "a lo bestia" seria muy bestia teniendo las
herramientas que nos ofrece .NET :D muchas gracias
Ads by Google
Search Busqueda sugerida