Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Leer un Archivo Xml desde Visual Basic

Estas en el tema de Leer un Archivo Xml desde Visual Basic en el foro de Visual Basic clásico en Foros del Web. Amigos : Tengo un archivo XML, el cual necesito leer ciertos datos del cuerpo de este archivo desde vb6. agradeciendo respuesta, me despido...
  #1 (permalink)  
Antiguo 23/05/2006, 16:39
 
Fecha de Ingreso: enero-2002
Ubicación: Chile
Mensajes: 245
Antigüedad: 18 años
Puntos: 0
Leer un Archivo Xml desde Visual Basic

Amigos :
Tengo un archivo XML, el cual necesito leer ciertos datos del cuerpo de este archivo desde vb6.
agradeciendo respuesta, me despido
  #2 (permalink)  
Antiguo 25/05/2006, 04:51
Avatar de mullins  
Fecha de Ingreso: mayo-2006
Ubicación: Zaragoza
Mensajes: 14
Antigüedad: 13 años, 9 meses
Puntos: 0
Bueno lo primero seria agregar la referencia msxml 2.0 (referencias --> Microsoft XML, version 2.0)

Luego dimensionas el parser(analizador de xml) como:

Dim miXML As New MSXML.DOMDocument

Bueno, pongamos que tengo el siguiente xml

<?xml version = '1.0' encoding = 'ISO-8859-1'?>
<ROWSET>
<ROW num="1">
<COD>CQPDI138</COD>
<REFPROV>254873-B21</REFPROV>
<DESCRIP>DIMM 512MB SDRAM ECC 133Mhz</DESCRIP>
<PRECIO>256,41</PRECIO>
</ROW>
<ROW num="2">
<COD>CQPSE030</COD>
<REFPROV>230467-021</REFPROV>
<DESCRIP>TARJETA DE MEMORIA 32 MB IPAQ</DESCRIP>
<PRECIO>50,76</PRECIO>
</ROW>
</ROWSET>


Pues tenemos estas instrucciones:

miXML.documentElement.childNodes.Length --> nos daria el numero total de productos (en este caso dos) es decir dentro de rowset cuantos elementos ROW hay

miXML.documentElement.childNodes(indiceX).childNod es(indiceY).childNodes(0).xml
--> aqui accederia al producto indiceX (empezando desde 0) , a el nodo indiceY (tambien empezando desde 0) y luego childnodes(0).xml para acceder al contenido de cada elementos

un ejemplo de bucle para recorrer

for i=0 to miXML.documentElement.childNodes.Length
for j=0 to 3
debug.print miXML.documentElement.childNodes(i).childNodes(j). childNodes(0).xml
next j
next i


Es bastante lento si tienes muchos registros por eso yo uso un coponente activex (chilkat)
  #3 (permalink)  
Antiguo 11/02/2008, 11:24
 
Fecha de Ingreso: febrero-2008
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Re: Leer un Archivo Xml desde Visual Basic

He probado tu parser le encuentro un problema que no se solucionar
cuando hay un childnodes vacio siempre me da error .... Variable tipo Objet ......
en XML_Node.childNodes(i).childNodes(j).childNodes(0) .xml

He hecho entre otras muchas cosas el siguiente if para intentar solucionarlo sin exito

sXML = IIf((XML_Node.childNodes(i).childNodes(j).childNod es(0).Text) = vbNullString, "---", XML_Node.childNodes(i).childNodes(j).childNodes(0) .Text)

¿Podrias decirme como solucionar el problema?

Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:08.