Consulta sobre XML

01/06/2005 - 15:19 por Fabian | Informe spam
Hola a todos.

Alguien sabe cual es la forma mas sencilla de pasar un dataset a xml y
viceversa, pero sin perder el esquema del archivo.

yo estoy utilizando, esto.

Public Function Paises() As String
'Trae un solo Pais
Dim ds As New Data.DataSet
Dim strSql1 As String
Dim conn As New
SqlClient.SqlConnection(ConfigurationSettings.AppSettings("Nombre"))
strSql1 = "select * from TablaPaises '"
Dim da3 As New SqlClient.SqlDataAdapter(strSql1, conn)
da3.Fill(ds, "Paises")
conn.Close()
Dim aa As String
aa = ds.GetXml
Paises_pais = (aa)
End Function


Private Function lleno_paises()
Dim Datos As New CBase1
Dim MiString As String
Dim ds As New DataSet
MiString = Datos.Paises()
Dim sr = New System.IO.StringReader(MiString)
ds.ReadXml(sr)
End Function

Pero si algun campo esta null lo pierdo

Gtacias Fabian

Preguntas similare

Leer las respuestas

#1 Braulio Diez
01/06/2005 - 17:20 | Informe spam
Hola,

Mira en el DataSet el metodo "WriteXml" hay una implementacion de este con
un parametro más en el que le dices si quieres que te de el XML con el
esquema incluido o no (el XmlWriteMode).

Un saludo
Braulio

"Fabian" escribió:

Hola a todos.

Alguien sabe cual es la forma mas sencilla de pasar un dataset a xml y
viceversa, pero sin perder el esquema del archivo.

yo estoy utilizando, esto.

Public Function Paises() As String
'Trae un solo Pais
Dim ds As New Data.DataSet
Dim strSql1 As String
Dim conn As New
SqlClient.SqlConnection(ConfigurationSettings.AppSettings("Nombre"))
strSql1 = "select * from TablaPaises '"
Dim da3 As New SqlClient.SqlDataAdapter(strSql1, conn)
da3.Fill(ds, "Paises")
conn.Close()
Dim aa As String
aa = ds.GetXml
Paises_pais = (aa)
End Function


Private Function lleno_paises()
Dim Datos As New CBase1
Dim MiString As String
Dim ds As New DataSet
MiString = Datos.Paises()
Dim sr = New System.IO.StringReader(MiString)
ds.ReadXml(sr)
End Function

Pero si algun campo esta null lo pierdo

Gtacias Fabian



Respuesta Responder a este mensaje
#2 Fabian
01/06/2005 - 23:15 | Informe spam
Gracias por tu respuesta. Estuve investigando el WriteXML pero lo unico que
encontre es dejando el XML creado en el disco fisico del servidor.

¿Hay alguna manera de indicarle que el archivo creado quede en memoria para
poder pasarlo entre capas?

Gracias.

Fabian



"Braulio Diez" escribió en el mensaje
news:
Hola,

Mira en el DataSet el metodo "WriteXml" hay una implementacion de este


con
un parametro más en el que le dices si quieres que te de el XML con el
esquema incluido o no (el XmlWriteMode).

Un saludo
Braulio

"Fabian" escribió:

> Hola a todos.
>
> Alguien sabe cual es la forma mas sencilla de pasar un dataset a xml y
> viceversa, pero sin perder el esquema del archivo.
>
> yo estoy utilizando, esto.
>
> Public Function Paises() As String
> 'Trae un solo Pais
> Dim ds As New Data.DataSet
> Dim strSql1 As String
> Dim conn As New
> SqlClient.SqlConnection(ConfigurationSettings.AppSettings("Nombre"))
> strSql1 = "select * from TablaPaises '"
> Dim da3 As New SqlClient.SqlDataAdapter(strSql1, conn)
> da3.Fill(ds, "Paises")
> conn.Close()
> Dim aa As String
> aa = ds.GetXml
> Paises_pais = (aa)
> End Function
>
>
> Private Function lleno_paises()
> Dim Datos As New CBase1
> Dim MiString As String
> Dim ds As New DataSet
> MiString = Datos.Paises()
> Dim sr = New System.IO.StringReader(MiString)
> ds.ReadXml(sr)
> End Function
>
> Pero si algun campo esta null lo pierdo
>
> Gtacias Fabian
>
>
>
Respuesta Responder a este mensaje
#3 Braulio Diez
02/06/2005 - 09:14 | Informe spam
Hola,

WriteXMl tiene varias implementaciones, una te deja grabar a un "stream" o
a un "textwriter", un stream es un flujo de datos, de ahí puedes pasar el
stream directamente entre capas, o el textwriter, o si no pasarlo a string
sin problemas (todo en memoria).

Lo bueno de los Streams es que tu decides si quieres que es flujo de
datos sea en memoria o en disco.

Un saludo
Braulio

"Braulio Diez" wrote:

Hola,

Mira en el DataSet el metodo "WriteXml" hay una implementacion de este con
un parametro más en el que le dices si quieres que te de el XML con el
esquema incluido o no (el XmlWriteMode).

Un saludo
Braulio

"Fabian" escribió:

> Hola a todos.
>
> Alguien sabe cual es la forma mas sencilla de pasar un dataset a xml y
> viceversa, pero sin perder el esquema del archivo.
>
> yo estoy utilizando, esto.
>
> Public Function Paises() As String
> 'Trae un solo Pais
> Dim ds As New Data.DataSet
> Dim strSql1 As String
> Dim conn As New
> SqlClient.SqlConnection(ConfigurationSettings.AppSettings("Nombre"))
> strSql1 = "select * from TablaPaises '"
> Dim da3 As New SqlClient.SqlDataAdapter(strSql1, conn)
> da3.Fill(ds, "Paises")
> conn.Close()
> Dim aa As String
> aa = ds.GetXml
> Paises_pais = (aa)
> End Function
>
>
> Private Function lleno_paises()
> Dim Datos As New CBase1
> Dim MiString As String
> Dim ds As New DataSet
> MiString = Datos.Paises()
> Dim sr = New System.IO.StringReader(MiString)
> ds.ReadXml(sr)
> End Function
>
> Pero si algun campo esta null lo pierdo
>
> Gtacias Fabian
>
>
>
Respuesta Responder a este mensaje
#4 Fabian
02/06/2005 - 15:29 | Informe spam
Braulio, yo otra vez, te cuento

En base a lo que me contastee, encontre esto y esoy probando. pero no
encuentro como dejar el xml en una variable.

te podes fijar aver si vos te das cuenta que puedo modificar para mantener
el xml

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Dim myConnectionString As String = "User
ID=sa;password=xxxxxxxxxx;Initial Catalog=prueba1;Data Source=fgp-2003"

Dim mySelectQuery As String = "Select * From scdtocte order by
c_cliente"
Dim myXMLfile As String = "c:\mySchema.xml"

Dim con As New SqlConnection(myConnectionString)
Dim daCust As New SqlDataAdapter(mySelectQuery, con)
Dim ds As New DataSet
daCust.Fill(ds, "Cust")
Try
ds.WriteXml(myXMLfile, XmlWriteMode.WriteSchema)
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
End Sub

Gracias Fabian


"Braulio Diez" escribió en el mensaje
news:
Hola,

WriteXMl tiene varias implementaciones, una te deja grabar a un "stream"


o
a un "textwriter", un stream es un flujo de datos, de ahí puedes pasar el
stream directamente entre capas, o el textwriter, o si no pasarlo a string
sin problemas (todo en memoria).

Lo bueno de los Streams es que tu decides si quieres que es flujo de
datos sea en memoria o en disco.

Un saludo
Braulio

"Braulio Diez" wrote:

> Hola,
>
> Mira en el DataSet el metodo "WriteXml" hay una implementacion de este


con
> un parametro más en el que le dices si quieres que te de el XML con el
> esquema incluido o no (el XmlWriteMode).
>
> Un saludo
> Braulio
>
> "Fabian" escribió:
>
> > Hola a todos.
> >
> > Alguien sabe cual es la forma mas sencilla de pasar un dataset a xml y
> > viceversa, pero sin perder el esquema del archivo.
> >
> > yo estoy utilizando, esto.
> >
> > Public Function Paises() As String
> > 'Trae un solo Pais
> > Dim ds As New Data.DataSet
> > Dim strSql1 As String
> > Dim conn As New
> > SqlClient.SqlConnection(ConfigurationSettings.AppSettings("Nombre"))
> > strSql1 = "select * from TablaPaises '"
> > Dim da3 As New SqlClient.SqlDataAdapter(strSql1, conn)
> > da3.Fill(ds, "Paises")
> > conn.Close()
> > Dim aa As String
> > aa = ds.GetXml
> > Paises_pais = (aa)
> > End Function
> >
> >
> > Private Function lleno_paises()
> > Dim Datos As New CBase1
> > Dim MiString As String
> > Dim ds As New DataSet
> > MiString = Datos.Paises()
> > Dim sr = New System.IO.StringReader(MiString)
> > ds.ReadXml(sr)
> > End Function
> >
> > Pero si algun campo esta null lo pierdo
> >
> > Gtacias Fabian
> >
> >
> >
Respuesta Responder a este mensaje
#5 Braulio Diez
02/06/2005 - 16:03 | Informe spam
Hola,

Aquí tienes la solución

DataSet ds = CreateTestDataset();

System.IO.StringWriter stWrite = new System.IO.StringWriter();
ds.WriteXml(stWrite, XmlWriteMode.WriteSchema);
string Resultado = stWrite.ToString();
stWrite.Close();

Un saludo
Braulio

"Fabian" wrote:

Braulio, yo otra vez, te cuento

En base a lo que me contastee, encontre esto y esoy probando. pero no
encuentro como dejar el xml en una variable.

te podes fijar aver si vos te das cuenta que puedo modificar para mantener
el xml

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Dim myConnectionString As String = "User
ID=sa;password=xxxxxxxxxx;Initial Catalog=prueba1;Data Source=fgp-2003"

Dim mySelectQuery As String = "Select * From scdtocte order by
c_cliente"
Dim myXMLfile As String = "c:\mySchema.xml"

Dim con As New SqlConnection(myConnectionString)
Dim daCust As New SqlDataAdapter(mySelectQuery, con)
Dim ds As New DataSet
daCust.Fill(ds, "Cust")
Try
ds.WriteXml(myXMLfile, XmlWriteMode.WriteSchema)
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
End Sub

Gracias Fabian


"Braulio Diez" escribió en el mensaje
news:
> Hola,
>
> WriteXMl tiene varias implementaciones, una te deja grabar a un "stream"
o
> a un "textwriter", un stream es un flujo de datos, de ahí puedes pasar el
> stream directamente entre capas, o el textwriter, o si no pasarlo a string
> sin problemas (todo en memoria).
>
> Lo bueno de los Streams es que tu decides si quieres que es flujo de
> datos sea en memoria o en disco.
>
> Un saludo
> Braulio
>
> "Braulio Diez" wrote:
>
> > Hola,
> >
> > Mira en el DataSet el metodo "WriteXml" hay una implementacion de este
con
> > un parametro más en el que le dices si quieres que te de el XML con el
> > esquema incluido o no (el XmlWriteMode).
> >
> > Un saludo
> > Braulio
> >
> > "Fabian" escribió:
> >
> > > Hola a todos.
> > >
> > > Alguien sabe cual es la forma mas sencilla de pasar un dataset a xml y
> > > viceversa, pero sin perder el esquema del archivo.
> > >
> > > yo estoy utilizando, esto.
> > >
> > > Public Function Paises() As String
> > > 'Trae un solo Pais
> > > Dim ds As New Data.DataSet
> > > Dim strSql1 As String
> > > Dim conn As New
> > > SqlClient.SqlConnection(ConfigurationSettings.AppSettings("Nombre"))
> > > strSql1 = "select * from TablaPaises '"
> > > Dim da3 As New SqlClient.SqlDataAdapter(strSql1, conn)
> > > da3.Fill(ds, "Paises")
> > > conn.Close()
> > > Dim aa As String
> > > aa = ds.GetXml
> > > Paises_pais = (aa)
> > > End Function
> > >
> > >
> > > Private Function lleno_paises()
> > > Dim Datos As New CBase1
> > > Dim MiString As String
> > > Dim ds As New DataSet
> > > MiString = Datos.Paises()
> > > Dim sr = New System.IO.StringReader(MiString)
> > > ds.ReadXml(sr)
> > > End Function
> > >
> > > Pero si algun campo esta null lo pierdo
> > >
> > > Gtacias Fabian
> > >
> > >
> > >



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida