XML - Visualizar y actualizar un formulario XML

 
Vista:

Visualizar y actualizar un formulario XML

Publicado por Gerardo (1 intervención) el 06/06/2003 10:56:59
Hola a todos, y gracias por vuestra ayuda.
Soy principiante en .Net y XML. Mi problema es el siguiente:
Tengo que recorrer un registro de una tabla que esta en una base de datos SQL Server. Bien, debo de mostrar el contenido de cada columna de los elementos text, select etc que se encuentran dentro del XML. Ademas debo permitir que el usuario pueda actualizar datos y volver a grabarlos en la base de datos.
He intentado hacerlo con el ReadXML, he utilizado la arquitectura DOM, la clase xmlDocument. No consigo nada.
Estoy atacao y necesito ayuda urgentemente. Gracias
Agradeceria, codigo fuente igual o similar para poder hacerme una idea.

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

Recorrer y actualizar datos de un registro en una tabla SQL Server

Publicado por Alejandro (258 intervenciones) el 07/07/2023 20:09:47
1. Obtener los datos del registro desde la base de datos:
- Establece una conexión a la base de datos SQL Server y recupera el registro que contiene el XML. Esto se puede hacer mediante una consulta SQL utilizando el lenguaje de programación .NET (C# en este caso). Aquí tienes un ejemplo básico utilizando la clase `SqlConnection` y `SqlDataReader`:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System.Data.SqlClient;
 
// ...
 
string connectionString = "Data Source=nombre_servidor;Initial Catalog=nombre_base_datos;User ID=nombre_usuario;Password=contraseña;";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
 
string query = "SELECT columna_xml FROM tabla WHERE condicion";
SqlCommand command = new SqlCommand(query, connection);
SqlDataReader reader = command.ExecuteReader();
 
if (reader.Read())
{
    string xmlData = reader.GetString(0);
 
    // Aquí puedes procesar el XML y mostrar o editar los datos
}
 
reader.Close();
connection.Close();

Asegúrate de reemplazar "nombre_servidor", "nombre_base_datos", "nombre_usuario" y "contraseña" con los valores correspondientes de tu entorno. Además, ajusta "columna_xml", "tabla" y "condicion" según tu estructura de base de datos.

2. Procesar el XML y mostrar o editar los datos:
- Una vez que tengas el XML, puedes utilizar la clase `XmlDocument` o `XDocument` para cargar y procesar los datos. A continuación, puedes recorrer y acceder a los elementos del XML utilizando métodos y propiedades disponibles en estas clases. Aquí tienes un ejemplo utilizando `XmlDocument`:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System.Xml;
 
// ...
 
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlData); // Donde xmlData es el XML recuperado de la base de datos
 
// Recorrer y mostrar los datos
foreach (XmlNode node in xmlDoc.DocumentElement.ChildNodes)
{
    string elementName = node.Name;
    string elementValue = node.InnerText;
 
    // Mostrar el nombre y valor del elemento
    Console.WriteLine($"Nombre: {elementName}, Valor: {elementValue}");
 
    // Aquí puedes permitir al usuario editar los valores si es necesario
}

Puedes utilizar métodos y propiedades adicionales según tus necesidades, como `GetAttribute()` para obtener atributos de elementos o `SelectNodes()` para realizar búsquedas más complejas.

3. Actualizar los datos y guardar los cambios en la base de datos:
- Una vez que el usuario haya realizado las modificaciones necesarias en los datos del XML, puedes actualizar el registro en la base de datos con los datos actualizados. Puedes utilizar una consulta SQL para actualizar la columna XML correspondiente. Aquí tienes un ejemplo básico utilizando `SqlCommand`:

// Supongamos que has obtenido los datos actualizados en una variable llamada "xmlDataActualizado"

1
2
3
4
string updateQuery = "UPDATE tabla SET columna_xml = @xmlDataActualizado WHERE condicion";
SqlCommand updateCommand = new SqlCommand(updateQuery, connection);
updateCommand.Parameters.AddWithValue("@xmlDataActualizado", xmlDataActualizado);
updateCommand.ExecuteNonQuery();

Asegúrate de ajustar "tabla" y "condicion" según tu estructura de base de datos. Además, "xmlDataActualizado" debe ser la representación XML actualizada que se desea guardar.

Recuerda que estos son ejemplos básicos y deberás adaptarlos a tu estructura de base de datos y requisitos específicos. También puedes considerar el uso de herramientas como Entity Framework para simplificar el acceso a la base de datos y la manipulación del XML.

Espero que esta solución te ayude a recorrer y actualizar los datos de un registro en una tabla SQL Server utilizando XML. ¡Buena suerte con tu aplicación web!
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