Manejo de XML en Visual Basic 6

Small Bits Agregar comentario

Inspirado por el artículo de Moisés 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 información. 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 sólo entienda la computadora.

Para quien no los conozca es algo más 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, cómo 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
xml1
y buscamos el “Microsoft XML, v3.0″
xml2

Yo recomiendo la versión 3, porque es “viejita” (osea que ya va a estar instalada en muchos equipos) y porque es suficiente para las operaciones básicas.

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 instrucción en especial me es útil para crear un documento desde cero.

También 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 ayudarán a mantener referencias a la información que necesitemos dentro de la estructura del XML.

Dentro de un XML podemos leer la información seleccionando datos, por ejemplo podemos hacer búsquedas y obtener el resultado en un objeto IXMLDOMNodeList, con esta instrucción:

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 instrucción nos devuelva en "nodo2" una referencia al nodo recién creado.

Y para terminar la función más importante, con la que grabas un XML.

documento.save("archivo.xml")

Con estos comandos básicos es suficiente para crear y guardar documentos, archivos de configuración y otras monerías para tus programas, si necesitas ayuda o tienes alguna duda, para eso son los comentarios!

Comparte y disfruta:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • BarraPunto
  • BlinkList
  • e-mail
  • Furl
  • Live
  • Meneame
  • StumbleUpon
  • Technorati
  • TwitThis
  • YahooMyWeb
  • No Related Post

Tal vez quieras leer nuestro artículo mas reciente: Año nuevo, nuevos enlaces por descubrir




4 Respuestas a “Manejo de XML en Visual Basic 6”

  1. Héctor Ortega dice:

    Necesito saber como pasar parametros a un web service creado en visual .net, el problema es el siguiente, a ese web service, se le pasa como parametro un Dataset y el cliente que estoy desarrollando debe ser desarrollado en VB6, como le paso un dataset?? a ese web service???

  2. Estadísticas Mayo 08 | Móchate dice:

    [...] Manejo de XML en Visual Basic 6 Comparte y disfruta: These icons link to social bookmarking sites where readers can share and discover new web pages. [...]

  3. Cristian dice:

    Mi humilde opinión es que para que sea interoperable no debes usar tipos de Datos complejos (DAtaSet), esto funciona unicamente entre aplicaciones .net es decir el cliente debería tambien estar en .net.

    Para solucionar esto, deberías hacer un array de entidades o algo así.

    Espero te haya servido.

  4. Christian dice:

    Antes que nada, no tengo mucha experiencia con el manejo de los XML, mi intención únicamente era compartir con la gente algunas funciones que permiten a tus aplicaciones el utilizar archivos xml para guardar datos.

    Desde mi punto de vista, si los archivos de datos son únicamente para tu aplicacion, no importa mucho la interoperabilidad. Tu decides el formato y lo utilizas a tu antojo.

Escribe un comentario



WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS