Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
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>
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 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ónstarts-with
distingue mayúsculas de minúsculas.