XML - parsear un xml - problema conceptual

 
Vista:

parsear un xml - problema conceptual

Publicado por andreafuhr (2 intervenciones) el 14/06/2008 13:47:26
Hola gente linda!
A ver quien puede ayudarme en esto?
Basicamente tengo un problema conceptual.
Tengo varios archivos xml. Ellos son:
CLIENTES
ARTICULOS
FACTURAS

El XML de FACTURAS es un arbol donde por cada factura tengo una lista de detalles o
renglones.

Debo levantar estos xml y cargarlos a mis colecciones de:
CLIENTES
ARTICULOS
FACTURAS

Ya tengo las clases armadas, incluso en cada clase CLIENTE, FACTURA Y ARTICULOS
implemento la interfaz Comparable para que me los retorne todos ordenaditos.

Cual es mi problema?

Que no se cual de los siguientes metodos me conviene para parsear los xmls: los metodos
posibles que me dieron a utilizar son:

- Jdom
- Json
- SAXBuilder

Hasta ahora probe el Jdom y el Json, viendo que el Json es mas facil y al leer el xml
me retorna todo lo leido en un array de string que luego yo puedo instanciar mis colecciones
con lo que me retorno el json.
Se me hace lio al intentar cargar mi coleccion de facturas, ya que dentro de cada
factura tengo una coleccion de detalles o renglones... y veo que aca no me instancia
los detalles.

PREGUNTA: ¿Es correcto leer un xml con json e instanciar mis objetos con esta herramienta?
¿O hay alguna otra que sea mas eficiente?
Estuve leyendo en wikipedia que en realidad json es una notacion diferente a la
de xml... como que su uso no es justamente para parsear xmls.

Como ven tengo un serio problema conceptual.
Si alguien me puede aclarar un poco las ideas se lo agradeceria.
Muchas gracias.
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

RE:parsear un xml - problema conceptual

Publicado por Ariasss (7 intervenciones) el 25/06/2008 12:52:18
Bien... Como a mi no me ayudaron mucho mucho en este tema... no te puedo responder a mucho de lo que me has preguntado, pero te dejo la forma en la que yo finalmente logré hacerlo en C#.

//Creo un documento XML y lo cargo.
System.Xml.XmlDocument objXml = new System.Xml.XmlDocument();
objXml.Load("D://xml//pruebaxml.xml");

// Conexión que ya tengo configurada en mi Web.config
string connectionString = ConfigurationManager.ConnectionStrings["LeyesConnectionString"].ConnectionString;

// Creo el nodo principal y una lista de todos los elementos cogidos por sus etiquetas
System.Xml.XmlNodeList lext = objXml.GetElementsByTagName("LEXTexto");
System.Xml.XmlNodeList lista = ((XmlElement)lext[0]).GetElementsByTagName("TEpigrafe");

// Para cada elemento, sus 'subelementos' y a partir de ahí, sus correspondientes conexiones con la Base de Datos y sus inserciones en la tabla.
foreach (XmlElement nodo in lista)
{
XmlNodeList tepi = nodo.GetElementsByTagName("PreEpigrafe");
XmlNodeList textepi = nodo.GetElementsByTagName("TextoEpigrafe");
XmlNodeList parr = nodo.GetElementsByTagName("p");
string sQuery2 = "INSERT INTO pruebaxml(PreEpigrafe, TextoEpigrafe, Parrafo, Texto) VALUES ('" + numEpig + "','" + textoEpig + "','" + parrafo + "','" + tepi[0].InnerText + "')";
SqlConnection SqlConn2 = new SqlConnection(connectionString);
SqlConn2.Open();
SqlCommand com = new SqlCommand(sQuery2, SqlConn2);
SqlDataReader reader2 = com.ExecuteReader();
SqlConn2.Close();
.
.
.
.
.

Bueno, no sé si te ayudaré, pero si es así, espero servirte de ayuda...
Ciao
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