tutoriais mais recente desenvolvimento web
 

XML e XPath


XPath (the XML Path language) é uma linguagem para encontrar informações em um documento XML.


O que é XPath?

XPath
  • XPath é uma sintaxe para definir partes de um documento XML
  • XPath usa expressões de caminho para navegar em documentos XML
  • XPath contém uma biblioteca de funções padrão
  • XPath é um elemento importante na XSLT
  • XPath é usado também em XQuery, XPointer e XLink
  • XPath é uma recomendação W3C

Expressões de Caminho XPath

XPath usa expressões de caminho para selecionar nós ou conjuntos de nós em um documento XML. Essas expressões de caminho se parecem muito com as expressões que você vê quando você trabalha com um sistema de arquivos de computador tradicional.

expressões Hoje XPath também pode ser usado em JavaScript, Java, XML Schema, PHP, Python, C e C ++, e muitas outras línguas.


XPath é usado em XSLT

XPath é um elemento importante no padrão XSLT. Sem o conhecimento de XPath você não será capaz de criar documentos XSLT.


Exemplo XPath

Nós vamos usar o seguinte documento XML:

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book category="cooking">
  <title lang="en">Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>

<book category="children">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

<book category="web">
  <title lang="en">XQuery Kick Start</title>
  <author>James McGovern</author>
  <author>Per Bothner</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>

<book category="web">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>

</bookstore>

Na tabela abaixo listamos algumas expressões XPath e o resultado das expressões:

XPath Expression Resultado
/bookstore/book[1] Seleciona o primeiro elemento de livro que é o filho do elemento livraria
/bookstore/book[last()] Seleciona o último elemento livro que é o filho do elemento livraria
/bookstore/book[last()-1] Seleciona o penúltimo livro elemento que é o filho do elemento livraria
/bookstore/book[position()<3] Seleciona os dois primeiros elementos do livro que são filhos do elemento livraria
//title[@lang] Seleciona todos os elementos do título que têm um atributo chamado lang
//title[@lang='en'] Seleciona todos os elementos do título que têm uma "lang" atributo com um valor de "en"
/bookstore/book[price>35.00] Seleciona todos os elementos do livro do elemento livraria que tem um elemento price com um valor maior que 35,00
/bookstore/book[price>35.00]/title Seleciona todos os elementos do título dos elementos livro do elemento livraria que têm um elemento de preço com um valor maior que 35,00

Se você quiser saber mais sobre o XPath, leia o nosso tutorial XPath .