TIPS

  • Menos registros
    No permitas que tu aplicación despliege 20,000 registros cuando solo requieres mostrar 20.

Quién está en linea

Tenemos 45 invitados conectado(s)

Acceso

Iniciar sesión

Buscar Foro

Palabras Clave

Buscar

Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1
  • 2

TOPIC: Uso de xml para crear tabla y meter datos

Re:Uso de xml para crear tabla y meter datos 1 year 6 months ago #2369

  • CContreras
  • CContreras's Avatar
  • OFFLINE
  • Moderator
  • Posts: 187
  • Thank you received: 1
  • Karma: 6
Hola,
No se ya tendrás esto solucionado pero, en caso que no sea así, te propongo un método fácil, aunque realmente es sólo para "salir del apuro" y por si es algo puntual.

Puedes importar el XML a un Excel. Te preguntará si quieres importarlo como una tabla XML, le dices que sí. Ahora ya tienes tus campos del XML ordenados en la hoja de cálculo. Después sólo tendrás que importarla con el wizard del SQL Server, que es muy sencillo.

Un saludo,
Carlos I. Contreras.
DBASupport Team.
DBASupport Team
The administrator has disabled public write access.

Re:Uso de xml para crear tabla y meter datos 1 year 6 months ago #2370

  • JoseM
  • JoseM's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 73
  • Karma: 0
Gracias por ese consejo CContreras, pero en mi caso no resulta 100% fiable, pero si facilita la creación de la tabla.
Aún así, como ya comentaba en el anterior post, ya tengo creada la tabla. El problema lo tengo en recorrer el xml e insertar los datos.

Un saludo
The administrator has disabled public write access.

Re:Uso de xml para crear tabla y meter datos 1 year 5 months ago #2379

  • JoseM
  • JoseM's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 73
  • Karma: 0
Para quien le sirva :)

if (nodo.Name == "PID")
{
if (nodo.HasChildNodes == true)
{
if (nodo.SelectSingleNode("/AMB_A01/PID/PID.1") != null)
{
PID1 = nodo.SelectSingleNode("/AMB_A01/PID/PID.1").InnerText;
}
//Obtenemos una coleccion de todos los nodos PID3
XmlNodeList listaPID3 = mensajeXML.SelectNodes("AMB_A01/PID/PID.3");

//Creamos un unico PID3
XmlNode unPID3;

//Recorremos toda la lista de PID3s
for (int i = 0; i < listaPID3.Count; i++)
{
//Obtenemos cada PID3
unPID3 = listaPID3.Item(i);

//Obtenemos los valores del PID3
if (unPID3.SelectSingleNode("CX.1") != null)
{
PID3_CX1 = unPID3.SelectSingleNode("CX.1").InnerText;
}
if (unPID3.SelectSingleNode("CX.4") != null)
{
PID3_CX4 = unPID3.SelectSingleNode("CX.4").InnerText;
}
if (unPID3.SelectSingleNode("CX.5") != null)
{
PID3_CX5 = unPID3.SelectSingleNode("CX.5").InnerText;
}
#region CX9
if (unPID3.SelectSingleNode("CX.9") != null)
{
//Obtenemos una coleccion de todos los nodos de CX.9
//XmlNodeList listaNodosHijoCX9 = mensajeXML.SelectNodes("CX.9");
XmlNodeList listaNodosHijoCX9 = unPID3.SelectNodes("CX.9");
//Creamos un unico cwe
XmlNode cwe;
for (int j = 0; j < listaNodosHijoCX9.Count; j++)
{
//Obtenemos cada cwe
cwe = listaNodosHijoCX9.Item(j);
if (cwe.SelectSingleNode("CWE.1") != null)
{
PID3_CX9_CWE1 = cwe.SelectSingleNode("CWE.1").InnerText;
}
if (cwe.SelectSingleNode("CWE.2") != null)
{
PID3_CX9_CWE2 = cwe.SelectSingleNode("CWE.2").InnerText;
}
if (cwe.SelectSingleNode("CWE.5") != null)
{
PID3_CX9_CWE5 = cwe.SelectSingleNode("CWE.5").InnerText;
}
if (cwe.SelectSingleNode("CWE.6") != null)
{
PID3_CX9_CWE6 = cwe.SelectSingleNode("CWE.6").InnerText;
}
}
}

Es una pequeña parte del código, pero lo suficiente para ver como coger valores de nodos hijos de un nodo que se repite.

Un saludo
The administrator has disabled public write access.

Re:Uso de xml para crear tabla y meter datos 1 year 5 months ago #2380

  • G3DBA
  • G3DBA's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 234
  • Thank you received: 3
  • Karma: 9
Muchas gracias.
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Moderators: mherlindo, CContreras
Time to create page: 0.291 seconds

Foro

Otros Temas »