Introdução ao XPath

XPath é um componente principal e principal do padrão XSLT. O XPath pode ser usado para percorrer os elementos, atributos, texto, instruções de processamento, comentário, espaço para nome e documento em um documento XML (Extensible Markup Language). É uma recomendação do W3C que contém uma biblioteca com mais de 200 funções internas. XPath é a sintaxe para definir partes de um documento XML. XSLT é a linguagem da folha de estilos para arquivos XML. Com o XSLT, você pode transformar documentos XML em outros formatos, como XHTML. XQuery é sobre a consulta de dados XML. O XQuery foi projetado para consultar qualquer coisa que possa aparecer como XML, incluindo bancos de dados. A vinculação no XML é dividida em duas partes: XLink e XPointer. XLink e XPointer definem uma maneira padrão de criar hiperlinks em documentos XML.

Expressão do XPath

O XPath permite que diferentes tipos de expressões recuperem informações relevantes do documento XML. XPath aborda uma parte específica do documento. Ele modela um documento XML como uma árvore de nós. Uma expressão do XPath é uma técnica para navegar e selecionar nós no documento.

As expressões XPath podem ser usadas em C, C ++, Python, Java, JavaScript, PHP, Esquema XML e muitas outras linguagens. Uma expressão XPath refere-se a um padrão para selecionar um conjunto de nós. O XPointer usa esses padrões para abordar a finalidade ou executar transformações pelo XSLT. A expressão XPath especifica sete tipos de nós que podem ser o resultado da execução.

1. Raiz

Elemento raiz de um documento XML. Usando as seguintes maneiras, os elementos raiz podem ser encontrados.

  1. Usar curinga (/ *): para selecionar o nó raiz
  2. Usar nome (/ class): para selecionar o nó raiz pelo nome
  3. Use Nome com um curinga (/ class / *): para selecionar todos os elementos no nó raiz

Código:




2. Elemento

Nó de elemento de um documento XML. Abaixo estão as maneiras de encontrar o elemento

  1. / class / *: usado para selecionar todos os elementos no nó raiz.
  2. / class / library: usado para selecionar todos os elementos da biblioteca no nó raiz.
  3. // biblioteca: usada para selecionar o elemento inteiro da biblioteca do documento.

Código:




3. Atributos

Um atributo de um nó do elemento no documento XML recuperado e verificado usando o @ attribute-name de um elemento.

Código:


4. Texto

Texto de um nó do elemento no documento XML, recuperado e verificado pelo nome de um elemento.

Código:


5. Comentário

Exemplo de comentário

Código:

Nó ou lista do nó do XML

A seguir, é apresentada a lista de expressões úteis para selecionar um nó ou uma lista do nó em um documento XML.

  • '/': Usando esta seleção, inicie no nó raiz.
  • '//': O uso dessa seleção inicia no nó atual que corresponde à seleção
  • '.': Para selecionar a expressão atual usada.
  • '..': para selecionar o nó pai do nó atual.
  • '@': Para selecionar atributos.

Exemplo de XPath

Para entender uma expressão XPath, criamos um documento XML, library.xml, e sua folha de estilos document library.xsl que usa as expressões XPath sob o atributo select de várias tags XSL para obter os valores de ID do livro, nome do livro, autor, publicação e preço de cada nó do livro.

1. library.xml

Código:




Deep Work: Rule for success in a Distracted world
Cal Newport
White Paper
115

The Heart of Success
Nil Manoj Sharma
The Print
95

The King and The Queen
Yashpal Singh
Lotus
190

2. library.xsl

Código:


xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price








Resultado:

Benefícios do XPath

Abaixo estão os benefícios do Xpath:

  • As consultas XPath são simples de digitar e ler e também são compactas.
  • A sintaxe XPath é fácil para os casos comuns e simples.
  • As strings de consulta são incorporadas em scripts, programas e atributos HTML ou XML facilmente.
  • As consultas XPath são facilmente analisadas.
  • Qualquer nó pode reconhecer exclusivamente em um documento XML.
  • Em um documento XML, a ocorrência de qualquer caminho ou qualquer conjunto de condições para os nós no caminho pode ser especificada.
  • As consultas retornam qualquer número de resultados, incluindo zero.
  • Em um documento XML, as condições da consulta podem ser calculadas em qualquer nível e não devem passar do nó superior de um documento XML.
  • As consultas XPath retornam nós exclusivos, não nós repetidos.
  • Em muitos contextos, o XPath é usado para fornecer links para nós, para encontrar repositórios e muitos outros aplicativos.
  • Para os programadores, as consultas XPath não são processuais, mas mais declarativas. Eles definem como os elementos devem ser atravessados. Para obter resultados eficientes, índices e outras estruturas devem ser usados ​​gratuitamente por um otimizador de consulta.

Conclusão

XPath é uma linguagem de consulta usada para percorrer elementos, atributos e texto através de um documento XML. XPath é amplamente utilizado para encontrar elementos ou atributos específicos com padrões correspondentes. Quando uma consulta é definida, esses dados XML podem ser representados como uma árvore. A representação hierárquica dos dados XML é chamada de árvore. A parte superior da árvore é um nó raiz. Em uma árvore, cada atributo, elementos, texto, comentários, sequência e instruções de processamento correspondem a um nó. Os relacionamentos entre os nós podem ser representados pela árvore.

Artigos recomendados

Este é um guia para o que é XPath? Aqui discutimos expressões, listas, exemplos e benefícios do Xpath. Você também pode ler nossos outros artigos relacionados para saber mais.

  1. O que é XPath no Selenium?
  2. O que é XML?
  3. Nova Carreira
  4. Carreira na Segurança da Informação
  5. Exemplos de funções internas do Python