XML - Necesito pasar Subcampos XML a un DataGridView

 
Vista:

Necesito pasar Subcampos XML a un DataGridView

Publicado por Juan Jose (1 intervención) el 08/01/2007 19:47:50
Benos dias a todos.
Necesito saber como extraer subcampos XML de la siguiente cadena:
<Solicitud>
<ID>1</ID>
<Ubicacion>Laboratorio</Ubicacion>
<Secuencia>532</Secuencia>
<Transaccion>TRANSF</Transaccion>
<Tarjeta>4117530014280984</Tarjeta>
<NumCampos>3</NumCampos>
<Campos>
<Campo>
<Tipo>Cuenta</Tipo>
<Valor>15219000000012435</Valor>
</Campo>
<Campo>
<Tipo>CuentaDestino</Tipo>
<Valor>01203000000021460</Valor>
</Campo>
<Campo>
<Tipo>Valor</Tipo>
<Valor>42,00</Valor>
</Campo>
</Campos>
</Solicitud>
Los subcampos que necesito son los que dicen Campo y visualizarlo en un DataGridView.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Extracción de subcampos XML y visualización en DataGridView

Publicado por Alejandro (258 intervenciones) el 14/07/2023 00:52:53
Para extraer los subcampos XML de la cadena dada y mostrarlos en un DataGridView, puedes utilizar la biblioteca `System.Xml` de C# para analizar el XML y obtener los valores de los subcampos deseados. Aquí tienes un ejemplo de cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System;
using System.Data;
using System.Windows.Forms;
using System.Xml;
 
namespace ExtraccionSubcamposXML
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void btnExtraer_Click(object sender, EventArgs e)
        {
            string xmlString = "<Solicitud><ID>1</ID><Ubicacion>Laboratorio</Ubicacion><Secuencia>532</Secuencia><Transaccion>TRANSF</Transaccion><Tarjeta>4117530014280984</Tarjeta><NumCampos>3</NumCampos><Campos><Campo><Tipo>Cuenta</Tipo><Valor>15219000000012435</Valor></Campo><Campo><Tipo>CuentaDestino</Tipo><Valor>01203000000021460</Valor></Campo><Campo><Tipo>Valor</Tipo><Valor>42,00</Valor></Campo></Campos></Solicitud>";
 
            // Crear un DataSet para almacenar los datos extraídos
            DataSet dataSet = new DataSet();
            dataSet.ReadXml(new XmlTextReader(new System.IO.StringReader(xmlString)));
 
            // Obtener la tabla de subcampos
            DataTable subcamposTable = dataSet.Tables["Campo"];
 
            // Mostrar la tabla en el DataGridView
            dataGridView1.DataSource = subcamposTable;
        }
    }
}

En este ejemplo, se crea un formulario Windows Forms con un botón (`btnExtraer`) y un DataGridView (`dataGridView1`). Cuando se hace clic en el botón, se extraen los subcampos del XML y se muestran en el DataGridView.

Asegúrate de agregar los controles correspondientes en tu formulario y vincular el evento `Click` del botón al método `btnExtraer_Click`. También puedes personalizar la apariencia y la configuración del DataGridView según tus necesidades.

Ten en cuenta que este código asume que los subcampos se encuentran dentro de un elemento `<Campos>` y están etiquetados como `<Campo>`. Asegúrate de ajustar el código si la estructura de tu XML difiere.

Espero que este ejemplo te sea útil para extraer y mostrar los subcampos XML en un DataGridView.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar