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 por un carácter o secuencia de caracteres específico. En este artículo se incluye un ejemplo de código que muestra cómo puede usar la starts-with
función de cadena lenguaje de ruta de acceso XML (XPath) para implementar este requisito.
Ejemplo paso a paso
En el Bloc de notas, cree un nuevo documento XML denominado Books.xmly 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>
Guarde Books.xml en la carpeta raíz de la unidad C.
Abra un nuevo proyecto EXE estándar en Visual Basic. Form1 se crea de forma predeterminada.
En el menú Proyecto , haga clic en Referencias y, a continuación, active la casilla Microsoft XML 3.0 .
Arrastre un botón Comando y colóquelo en Form1.
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
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 lastarts-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.El primer parámetro de la
starts-with
función XPath se usa para especificar el nodo o cadena de origen en 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 que se proporciona como segundo parámetro de lastarts-with
función distingue mayúsculas de minúsculas.