You are on page 1of 3

Manejo de XML en Visual Basic 6

Inspirado por el artculo de Moiss sobre Flash y Visual basic ahora yo quiero compartirles un poco de las cosas que uno aprende en el trabajo diario, esta vez ser el uso de archivos XML dentro de Visual Basic 6. Los archivos XML pueden utilizarse para guardar y organizar informacin. No sustituyen el uso de bases de datos en cuanto a velocidad, pero su punto fuerte radica en que son sencillos e incluso legibles para las personas, no son formatos binarios de 1100110101 que slo entienda la computadora. Para quien no los conozca es algo ms o menos as:
<Alertas> <Mensaje> <ID>001</ID> <Texto>Texto del mensaje</Texto> <Imagen>Imagen1.jpg</Imagen> </Mensaje> <Mensaje> <ID>002</ID> <Texto>Otro mensaje</Texto> <Imagen>Imagen2.jpg</Imagen> </Mensaje> </Alertas>

Ahora vamos al grano, cmo se usan en VB6. Primero tenemos que agregar a nuestro proyecto la referencia al dll de XML de Microsoft. Abrimos el men de referencias en vb y buscamos el Microsoft XML, v3.0

Yo recomiendo la versin 3, porque es viejita (osea que ya va a estar instalada en muchos equipos) y porque es suficiente para las operaciones bsicas. Ahora, para crear un documento XML basta con declararlo y crearlo de esta forma:
Dim documento As MSXML2.DOMDocument30 Set documento = New DOMDocument30

Ya creado, podremos por ejemplo abrir un archivo:


documento.Load("archivo.xml")

O cargar XML desde un string


documento.loadXML ("<Documento></Documento>")

Esta ltima instruccin en especial me es til para crear un documento desde cero. Tambin vamos a necesitar declarar objetos de tipo nodo
Dim nodo As MSXML2.IXMLDOMNode

Y objetos tipo lista de nodos


Dim listaNodos As MSXML2.IXMLDOMNodeList

Estos objetos nos ayudarn a mantener referencias a la informacin que necesitemos dentro de la estructura del XML. Dentro de un XML podemos leer la informacin seleccionando datos, por ejemplo podemos hacer bsquedas y obtener el resultado en un objeto IXMLDOMNodeList, con esta instruccin:
set listaNodos = nodo.selectNodes("prueba")

Esto nos devolver una lista de nodos con los que podemos trabajar, en este caso todos los nodos que se llamen prueba. Existen otros comandos que nos permiten navegar por los nodos de un documento XML.
nodo.baseName 'Devuelve el nombre del nodo nodo.childNodes 'Permite acceder a los "hijos" de este nodo, de la misma manera se puede saber el numero de hijos con nodo.childNodes.length o acceder a un "hijo" con nodo.childNodes(x) (x es el numero del hijo, empezando desde cero). nodo.firstChild 'es equivalente a nodo.childNodes(0) nodo.parentNode 'apunta hacia el padre de este nodo nodo.Text 'devuelve el contenido de texto de un nodo (por ej. <nodo> texto </nodo> )

Set nodo2 = nodo.appendChild(documento.createElement("Datos")) 'Esta instruccion crea un elemento y lo agrega dentro del objeto "nodo", el "set" es para que al final de la instruccin nos devuelva en "nodo2" una referencia al nodo recin creado.

Y para terminar la funcin ms importante, con la que grabas un XML.


documento.save("archivo.xml")

Con estos comandos bsicos es suficiente para crear y guardar documentos, archivos de configuracin y otras moneras para tus programas, si necesitas ayuda o tienes alguna duda, para eso son los comentarios!

You might also like