Codificacion de XML con DataSet

15/03/2006 - 21:10 por Red Azul | Informe spam
Hola grupo, soy medio nuevo en esto y genere:
1.-Un dataset (ds) desde un archivo de esquema de XML
2.-el cual me genera un archivo *.vb que contiene una clase NewDataSet
3.-la instancio a una varibale ds y lo relleno según las tablas
generadas en la clase
4.-Finalmente con el método WriteXML genero mi archivo "data.xml" con el
siguiente esqueleto:

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<ElementoPrincipal atributo="valor" ...
<ElementoHijo1 atributo="valor" ...>
.
.
.
</ElementoHijo1>
.
.
.
<ElementoHijoN atributo="valor" ...>
.
.
.
</ElementoHijoN>
</ElementoPrincipal>
</NewDataSet>

El problema q tengo es q:

1.-NO deseo q aparesca como elemento inicial "NewDataSet", es decir no
quiero las etiquetas: <NewDataSet> y </NewDataSet>, lo q necesito es q
mi elemento inicial (root) sea "ElementoPrincipal", lo mas q he logrado
es cambiar la etiqueta "NewDataSet", con la propiedad "DataSetName" del
ds instanciado (ds.DataSetName="MiEtiquetaInicial". Pero necesito q el
cuerpo del XML empiece con la etiqueta "ElementoPrincipal".

2.-A pesar q en el esquema viene especificado la codificacion UTF-8 al
generar la clase para instanciar el dataset y posteriormente generar el
XML no aparece en el encabezado encoding="UTF-8", a pesar q si esta
haciendo la codificación correspondiente. Es decir necesito q sea
explicita en el encabezado del XML la codificacion UTF-8

3.- Necesito que no aparezca en el encabezado del XML el atributo
standalone="yes", y no se si lo pueda hacer desde alguna propiedad del
ds instanciado.

En resumen necesito generar desde el dataset instanciado el suguiente XML:

<?xml version="1.0" encoding="UTF-8"?>
<ElementoPrincipal atributo="valor" ...
<ElementoHijo1 atributo="valor" ...>
.
.
.
</ElementoHijo1>
.
.
.
<ElementoHijoN atributo="valor" ...>
.
.
.
</ElementoHijoN>
</ElementoPrincipal>

En verdad agradezco cualquier comentario o sugerencia o corrección.
Muchas gracias desde YA.

__________
RED_AZUL
red_azul."en".hotmail.com
 

Leer las respuestas

#1 Alberto Poblacion
16/03/2006 - 14:47 | Informe spam
"Red Azul" wrote in message
news:%
Hola grupo, soy medio nuevo en esto y genere:
1.-Un dataset (ds) desde un archivo de esquema de XML
2.-el cual me genera un archivo *.vb que contiene una clase NewDataSet
3.-la instancio a una varibale ds y lo relleno según las tablas generadas
en la clase
4.-Finalmente con el método WriteXML genero mi archivo "data.xml" [...]
En resumen necesito generar desde el dataset instanciado el suguiente XML:
[...]




Podrías atacar a un XmlDataDocument vinculado al DataSet y extraer a
través del DOM el xml en el formato que quieras. Por ejemplo, para sacar el
nodo ElementoPrincipal podrías hacer algo parecido a esto:

Dim xd as new XmlDataDocument(miDataSet)
Dim xn as XmlNode = xd.SelectSingleNode("//ElementoPrincipal")
Dim xml as String = xn.OuterXml

Una vez que tienes el xml en un string, le concatenas al principio la
cabecera en el formato en que la quieres, y ya está.

Preguntas similares