Tutorial: Leer datos XML e introducirlos en un conjunto de datos
ADO.NET proporciona métodos sencillos para trabajar con datos XML.En este tutorial, se creará una aplicación para Windows que cargará datos XML en un conjunto de datos.Después, el conjunto de datos se mostrará en un control DataGridView.Por último, se mostrará en un cuadro de texto un esquema XML basado en el contenido del archivo XML.
Este tutorial consta de cinco pasos principales:
Crear un proyecto nuevo.
Crear un archivo XML que se leerá en el conjunto de datos.
Crear la interfaz de usuario.
Crear el conjunto de datos, leer el archivo XML y mostrarlo en un control DataGridView.
Agregar código para mostrar en un control TextBox el esquema XML basado en el archivo XML.
[!NOTA]
Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos.Para cambiar la configuración, elija Importar y exportar configuraciones en el menú Herramientas.Para obtener más información, vea Valores de configuración de Visual Studio.
Crear un nuevo proyecto
En este paso, creará un proyecto de Visual Basic o Visual C# que incluirá este tutorial.
Para crear el nuevo proyecto de Windows
En el menú Archivo, cree un nuevo proyecto.
Asigne al proyecto el nombre ReadingXML.
Seleccione Aplicación para Windows y haga clic en Aceptar.Para obtener más información, vea Desarrollar aplicaciones cliente.
Se crea el proyecto ReadingXML y se agrega al Explorador de soluciones.
Generar el archivo XML que será leído en el conjunto de datos
Debido a que este tutorial se centra en la lectura de datos XML en un conjunto de datos, se proporciona el contenido de un archivo XML.
Para crear el archivo XML que será leído en el conjunto de datos
En el menú Proyecto, elija Agregar nuevo elemento.
Seleccione Archivo XML, asigne al archivo el nombre authors.xml y haga clic en Agregar.
El archivo XML se carga en el diseñador y está listo para su edición.
Pegue el código siguiente en el editor, debajo de la declaración XML:
<Authors_Table> <authors> <au_id>172-32-1176</au_id> <au_lname>White</au_lname> <au_fname>Johnson</au_fname> <phone>408 496-7223</phone> <address>10932 Bigge Rd.</address> <city>Menlo Park</city> <state>CA</state> <zip>94025</zip> <contract>true</contract> </authors> <authors> <au_id>213-46-8915</au_id> <au_lname>Green</au_lname> <au_fname>Margie</au_fname> <phone>415 986-7020</phone> <address>309 63rd St. #411</address> <city>Oakland</city> <state>CA</state> <zip>94618</zip> <contract>true</contract> </authors> <authors> <au_id>238-95-7766</au_id> <au_lname>Carson</au_lname> <au_fname>Cheryl</au_fname> <phone>415 548-7723</phone> <address>589 Darwin Ln.</address> <city>Berkeley</city> <state>CA</state> <zip>94705</zip> <contract>true</contract> </authors> <authors> <au_id>267-41-2394</au_id> <au_lname>Hunter</au_lname> <au_fname>Anne</au_fname> <phone>408 286-2428</phone> <address>22 Cleveland Av. #14</address> <city>San Jose</city> <state>CA</state> <zip>95128</zip> <contract>true</contract> </authors> <authors> <au_id>274-80-9391</au_id> <au_lname>Straight</au_lname> <au_fname>Dean</au_fname> <phone>415 834-2919</phone> <address>5420 College Av.</address> <city>Oakland</city> <state>CA</state> <zip>94609</zip> <contract>true</contract> </authors> </Authors_Table>
En el menú Archivo, seleccione Guardar authors.xml.
Crear la interfaz de usuario
La interfaz de usuario para esta aplicación constará de los siguientes elementos:
Un control DataGridView que mostrará el contenido del archivo XML como datos.
Un control TextBox que mostrará el esquema XML del archivo XML.
Dos controles Button.
Un botón lee el archivo XML en el conjunto de datos y lo muestra en el control DataGridView.
El segundo botón extrae el esquema del conjunto de datos y, a través de un StringWriter, lo muestra en el control TextBox.
Para agregar controles al formulario
Abra Form1 en la vista de diseño.
En el Cuadro de herramientas, arrastre los controles siguientes hasta el formulario:
Un control DataGridView
Un control TextBox
Dos controles Button
Establezca las siguientes propiedades:
Control
Propiedad.
Configuración
TextBox1
Multiline
true
ScrollBars
Vertical
Button1
Name
ReadXmlButton
Text
Read XML
Button2
Name
ShowSchemaButton
Text
Show Schema
Crear el conjunto de datos que recibirá los datos XML
En este procedimiento siguiente, se crea un nuevo conjunto de datos denominado authors.Para obtener más información sobre conjuntos de datos, vea Trabajar con los conjuntos de datos en Visual Studio.
Para crear un nuevo conjunto de datos que recibirá los datos XML
Con el archivo de código fuente para Form1 seleccionado en el Explorador de soluciones, haga clic en el botón Diseñador de vistas en la barra de herramientas Explorador de soluciones.
Desde Cuadro de herramientas, Datos (Pestaña), arrastre un Conjunto de datos hasta Form1.
Conjunto de datos sin tipo seleccione en el cuadro de diálogo de Agregar conjunto de datos , y haga clic en Aceptar.
DataSet1 se agrega a la bandeja de componentes.
En la ventana Propiedades, establezca las propiedades Nombre y DataSetName en AuthorsDataSet.
Crear el controlador de eventos para leer los datos XML en el conjunto de datos
El botón Leer XML lee el archivo XML en el conjunto de datos y establece propiedades en el control DataGridView que lo enlaza al conjunto de datos.
Para agregar código al controlador de eventos ReadXmlButton_Click
En el Explorador de soluciones, seleccione Form1 y haga clic en el botón Diseñador de vistas del Explorador de soluciones.
Haga doble clic en el botón Leer XML.
Se abrirá el Editor de código en el controlador de eventos ReadXmlButton_Click.
Escriba el código siguiente en el controlador de eventos ReadXmlButton_Click:
Private Sub ReadXmlButton_Click() Handles ReadXmlButton.Click Dim filePath As String = "Complete path where you saved the XML file" AuthorsDataSet.ReadXml(filePath) DataGridView1.DataSource = AuthorsDataSet DataGridView1.DataMember = "authors" End Sub
private void ReadXmlButton_Click(object sender, EventArgs e) { string filePath = "Complete path where you saved the XML file"; AuthorsDataSet.ReadXml(filePath); dataGridView1.DataSource = AuthorsDataSet; dataGridView1.DataMember = "authors"; }
En el código del controlador de eventos ReadXMLButton_Click, cambie la entrada filepath = a la ruta de acceso correcta.
Crear el controlador de eventos para mostrar el esquema en el control TextBox
El botón Mostrar esquema crea un objeto StringWriter que se llena con el esquema y se muestra en el control TextBox.
Para agregar código al controlador de eventos ShowSchemaButton_Click
En el Explorador de soluciones, seleccione Form1 y haga clic en el botón Diseñador de vistas.
Haga doble clic en el botón Mostrar esquema.
Se abrirá el Editor de código en el controlador de eventos ShowSchemaButton_Click.
Escriba el código siguiente en el controlador de eventos ShowSchemaButton_Click.
Private Sub ShowSchemaButton_Click() Handles ShowSchemaButton.Click Dim swXML As New System.IO.StringWriter() AuthorsDataSet.WriteXmlSchema(swXML) TextBox1.Text = swXML.ToString End Sub
private void ShowSchemaButton_Click(object sender, EventArgs e) { System.IO.StringWriter swXML = new System.IO.StringWriter(); AuthorsDataSet.WriteXmlSchema(swXML); textBox1.Text = swXML.ToString(); }
Pruebas
Puede comprobar el formulario para asegurarse de que se comporta de la forma prevista.
Para comprobar el formulario
Presione F5 para ejecutar la aplicación.
Haga clic en el botón Leer XML.
El control DataGridView muestra el contenido del archivo XML.
Haga clic en el botón Mostrar esquema.
El cuadro de texto muestra el esquema XML del archivo XML.
Pasos siguientes
Este tutorial muestra los pasos básicos para leer un archivo XML en un conjunto de datos, así como crear un esquema basado en el contenido del archivo XML.Éstas son algunas de las tareas que pueden venir a continuación:
Editar los datos del conjunto de datos y volver a escribirlos como XML.Para obtener más información, vea WriteXml.
Editar los datos del conjunto de datos y escribirlos en una base de datos.Para obtener más información, vea Guardar datos.
Vea también
Conceptos
Preparar la aplicación para recibir datos