Compartir a través de


Uso de la función XPath starts-with()

En este artículo se describe cómo usar la starts-with() función XPath.

Versión original del producto: Microsoft XML
Número de KB original: 303516

Resumen

Es un requisito de programación común al cargar y analizar un documento XML mediante el Modelo de objetos de documento (DOM) de Microsoft XML (MSXML) para identificar elementos o elementos con atributos cuyos valores comienzan con un carácter o una secuencia de caracteres específicos. En este artículo se incluye un ejemplo de código que muestra cómo puede usar la función de cadena de XPath (Lenguaje de Ruta XML) para implementar este requisito.

Ejemplo paso a paso

  1. En el Bloc de notas, cree un nuevo documento XML denominado Books.xml y pegue el siguiente XML:

    <?xml version="1.0"?>
    <!-- This file represents a fragment of a bookstore inventory database -->
    <bookstore specialty="novel">
        <book style="autobiography">
            <author>
                <first-name>Joe</first-name>
                <last-name>Bob</last-name>
                <award>Trenton Literary Review Honorable Mention</award>
            </author>
            <price>12</price>
        </book>
        <book style="textbook">
            <author>
                <first-name>Mary</first-name>
                <last-name>Bob</last-name>
                <publication>Selected Short Stories of
                    <first-name>Mary</first-name>
                    <last-name>Bob</last-name>
                </publication>
            </author>
            <price>55</price>
        </book>
    </bookstore>
    
  2. Guarde Books.xml en la carpeta raíz de la unidad C.

  3. Abra un nuevo proyecto EXE estándar en Visual Basic. Form1 se crea de forma predeterminada.

  4. En el menú Proyecto , haga clic en Referencias y, a continuación, active la casilla Microsoft XML 3.0 .

  5. Arrastre un botón Comando y colóquelo en Form1.

  6. Copie y pegue el código siguiente en el Click procedimiento de evento del botón Comando :

    Dim doc As MSXML2.DOMDocument
    Dim nlist As MSXML2.IXMLDOMNodeList
    Dim node As MSXML2.IXMLDOMNode
    
    Set doc = New MSXML2.DOMDocument
    doc.setProperty "SelectionLanguage", "XPath"
    doc.Load "c:\books.xml"
    Set nlist = doc.selectNodes("//book/author/first-name[starts-with(.,'M')]")
    MsgBox "Matching Nodes : " & nlist.length
    
    For Each node In nlist
    Debug.Print node.nodeName & " : " & node.Text
    Next
    
  7. El código anterior carga el XML de Books.xml en una instancia del objeto MSXML DOMDocument . A continuación, ejecuta una consulta XPath que usa la starts-with función XPath para identificar a todos los autores cuyos nombres comienzan por la letra M. Por último, el bucle For recorre en iteración los nodos seleccionados y muestra los nombres de los elementos de autor coincidentes.

  8. El primer parámetro de la starts-with función XPath se usa para especificar el nodo de origen o la cadena con el que se va a ejecutar la comparación. El segundo parámetro es la cadena de patrón que especifica el carácter o la secuencia de caracteres que se va a usar en la comparación. Es importante recordar que la cadena de patrón proporcionada como segundo parámetro de la función starts-with distingue mayúsculas de minúsculas.