Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/01/2006, 16:39
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 23 años, 4 meses
Puntos: 7
Sólo tienes que poner una referencia a "Microsoft XML" en tu programa. Creas una instancia de un objeto DOMDocument, Y cargas el documento. Para tener acceso a las etiquetas que te interesan utilizas los métodos definidos en el éstandar DOM. Por ejemplo:
Código:
Option Explicit
Dim DOMDoc As MSXML2.DOMDocument

Private Sub Form_Load()
Dim nodo As MSXML2.IXMLDOMNode
Dim nodos As MSXML2.IXMLDOMNodeList

    Set DOMDoc = New MSXML2.DOMDocument
    DOMDoc.Load app.Path & "\XMLDoc.xml"

    'Estructura del XML
    '<familia>
    '   <nombre id="ROOT">Productos</n>
    '    <familia>
    '        <nombre id="DI">Diodos</nombre>
    '        <producto id="DI-RE">Rectificadores</productos>
    '        <producto id="DI-ZE">Zener</productos>
    '    </familia>
     '       .....
    '</familia>

    'Para obtener el contenido de un nodo
    'siguiendo la estructura del documento
    Set nodo = DOMDoc.firstChild.firstChild
    Debug.Print nodo.Attributes.getNamedItem("id").nodeValue
    'Imprime "ROOT"
    Debug.Print nodo.firstChild.nodeValue
    'Imprime "Productos"

    'Obtener una lista de nodos por el nombre de etiqueta
    Set nodos = DOMDoc.getElementsByTagName("familia")
    For Each nodo In nodos
        'Imprime el nombre de cada familia en la lista
        Debug.Print nodo.firstChild.firstChild.nodeValue
    Next nodo
End Sub
En cuanto al desempeño con archivos grandes, sólo he usado código como este con archivos de no mas de 1MB, y funciona bien. La ventaja es que puede acceder de un modo intuitivo a todas las etiquetas de tu documento.

Saludos.