Usar a Função XPath de início com()
Este artigo descreve como usar a starts-with()
função XPath.
Versão original do produto: Microsoft XML
Número de KB original: 303516
Resumo
É um requisito de programação comum quando você carrega e analisa um documento XML usando o DOM (Modelo de Objeto de Documento MSXML) do Microsoft XML para identificar elementos e/ou elementos com atributos cujos valores começam com um caractere ou sequência específico de caracteres. Este artigo inclui um exemplo de código que demonstra como você pode usar a starts-with
função de cadeia de caracteres XML Path Language (XPath) para implementar esse requisito.
Exemplo passo a passo
No Bloco de Notas, crie um novo documento XML chamado Books.xmle cole o seguinte 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>
Salve Books.xml na pasta raiz da unidade C.
Abra um novo projeto STANDARD EXE no Visual Basic. O Form1 é criado por padrão.
No menu Projeto, clique em Referências e selecione a caixa marcar microsoft XML 3.0.
Arraste um botão Comando e solte-o no Form1.
Copie e cole o seguinte código no
Click
procedimento de evento do botão 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
O código anterior carrega o XML de Books.xml em uma instância do objeto MSXML
DOMDocument
. Em seguida, ele executa uma consulta XPath que usa astarts-with
função XPath para identificar todos os autores cujos primeiros nomes começam com a letra M. Por fim, o loop For itera por meio dos nós selecionados e exibe os primeiros nomes dos elementos de autor correspondentes.O primeiro parâmetro da
starts-with
função XPath é usado para especificar o nó de origem ou cadeia de caracteres em que a comparação deve ser executada. O segundo parâmetro é a cadeia de caracteres padrão que especifica o caractere ou a sequência de caracteres que deve ser usada na comparação. É importante lembrar que a cadeia de caracteres de padrão fornecida como o segundo parâmetro da função é sensível astarts-with
casos.