Introdução ao XPath
Quando você navega no site de uma loja de sapatos e adiciona sapatos ao carrinho de compras, os sapatos específicos que você seleciona por tamanho, cor, marca etc. e o preço do sapato são todos diferentes dados que são transmitidos do servidor do computador onde os dados são armazenados no navegador da web que você está usando para navegar na loja de sapatos. Como cliente, você pode não estar interessado em saber mais sobre quantos sapatos vermelhos são vendidos ou qual é a marca de calçado mais popular, mas a sapataria e todas as empresas em geral precisam aprender mais sobre os dados para entender quais são os produtos vendidos e quantas vendas são geradas.
Todas as informações que são transferidas entre o servidor web e os computadores que usamos podem ser salvas como arquivos XML , e podemos então usar a linguagem de consulta XPath para pesquisar os arquivos de dados XML e até mesmo calcular valores com base em critérios selecionados. XPath significa XML Path Language, e a função mais importante do XPath é que ele nos informa o caminho, ou endereço, das várias partes de dados no arquivo XML.
Função de XPath
Imagine uma livraria com muitos livros. Cada livro terá um título diferente e pode ter diferentes autores, diferentes preços, diferentes anos de publicação e pode ser sobre diferentes assuntos. Todas essas informações são armazenadas no computador da livraria, mas quando fazemos a busca na livraria, uma das formas que os dados são transferidos do computador da livraria para o nosso é por meio de um arquivo XML. Um arquivo XML contém dados e tem a seguinte aparência:
<? xml version = ‘1.0’?>
<livraria>
<category> Culinária </Category>
<language> Chinês </language>
<title> Macarrão Chinês </title>
<author> Chen Li </author>
<ano> 2010 </ano>
<price> $ 12,99 </price>
</bookstore>
Observe que a primeira linha indica a versão XML. Se você olhar para o arquivo XML, ele é estruturado como um arquivo de gabinete. O nome do gabinete de arquivo é livraria. Dentro do arquivo existem diferentes arquivos ou diferentes informações – categoria, idioma, título, autor, ano, preço. Bookstore é conhecido como o elemento raiz , ou nó raiz , porque todas as outras informações estão dentro da livraria. Cada informação dentro do nó raiz é conhecida como nó . Os nós são os nomes entre as tags <> e </>.
Neste arquivo XML, o nó raiz é bookstore. Os nós são: categoria, idioma, título, autor, ano, preço.
Uma maneira de pesquisar o arquivo XML é escrever código usando uma linguagem de programação como C ++, Java ou Visual Basic. Como XPath é uma linguagem de consulta, ele precisa de um processador para processar e converter a linguagem de consulta, ou script, que nós, humanos, digitamos em um formato que o computador possa entender e, então, retornar o resultado em linguagem humana. Também existem ferramentas XPath online que executam um script XPath e retornam resultados do arquivo XML. Um arquivo XML é semelhante a um arquivo Word e pode ser lido usando um programa de processamento de texto simples como o Bloco de Notas, por exemplo.
Usando XPath para obter dados de arquivos XML
Abaixo está um arquivo XML de amostra:
<? xml version = ‘1.0’ encoding = ‘UTF-8’?>
<livraria>
<categoria do livro = ‘COZINHANDO’>
<lang> Chinês </lang>
<title> Macarrão Chinês </title>
<author> Chen Li </author>
<ano> 2010 </ano>
<price> $ 12,99 </price>
</book>
<categoria do livro = ‘CRIANÇAS’>
<lang> Inglês </lang>
<title> A fada na janela </title>
<author> Peggy White </author>
<ano> 2015 </ano>
<price> $ 9,99 </price>
</book>
<categoria de livro = ‘JARDINAGEM’>
<lang> Francês </lang>
<title> Rosa e Cuidado </title>
<author> Christian Croix </author>
<ano> 2011 </ano>
<price> $ 9,99 </price>
</book>
</bookstore>
Como você pode ver, este arquivo lista os livros na livraria e mostra todas as informações sobre os livros:
- A categoria do livro (culinária, crianças, jardinagem, etc.)
- Idioma no qual o livro foi escrito (inglês, chinês, francês)
- Nome do autor
- Ano de publicação
- Preço
Se quisermos obter apenas os títulos dos livros, o script XPath seria:
caminho = ‘/ livraria / livro / título’;
Isso retornaria apenas os títulos dos livros:
- Macarrão chines
- A fada na janela
- Rose e Care
No XPath, o caminho especificado é o nome dos nós do arquivo XML. Portanto, o caminho = ‘/ livraria / livro / título’; diz ao XPath para:
- Vá para o início do arquivo XML da livraria.
- Encontre o livro do nó.
- Em seguida, vá para o título do subnó.
Se quisermos obter os autores dos livros, o script XPath seria:
caminho = ‘/ livraria / livro / autor’;
Isso retornaria os nomes de todos os autores:
- Chen Li
- Peggy White
- Christian Croix
E se você quiser todos os anos, o script XPath seria:
caminho = ‘/ livraria / livro / ano’;
Isso retornaria todos os anos:
- 2010
- 2015
- 2011
Sintaxe de XPath
Os nomes exatos dos nós do arquivo XML devem ser usados ao consultar usando XPath. Por exemplo, se dissermos path = ‘/ livraria / livro / títulos’, XPath não será capaz de encontrar os títulos do livro, porque nos arquivos XML o nó é denominado título (sem o plural ‘s’). Portanto, os nós na string de pesquisa XPath devem corresponder exatamente aos nomes dos nós no arquivo XML.
Resumo da lição
XPath é uma linguagem que usa a estrutura de nós de arquivos XML para pesquisar dados em arquivos XML. Uma linguagem de programação como Visual Basic, Java ou C ++ pode ser usada para percorrer os nós em um arquivo XML e retornar os valores seguindo o caminho descrito por XPath. Também existem ferramentas online que executam instruções XPath. Os nomes exatos dos nós dos arquivos XML devem ser usados na sintaxe do XPath; caso contrário, os valores necessários não serão retornados.