Usando simples XPath para pesquisar XML

oblema:

Uma aplicação necessita pesquisar um documento XML para obter pedaços específicos de informações.

Solução:

ColdFusion nos fornece a possibilidade de usar a linguagem XML Path (XPath) para pesquisar num documento XML, usando a função XMLSearch.

Explicacao detalhada:

Um documento XML pode nos fornecer uma grande quantidade de dados, e muitas vezes, uma aplicação somente necessita partes desses dados. Usando a função XMLSearch com uma expressão XPath pode nos ajudar a recuperar os dados necessários rápida e eficientemente.

Primeramente, a aplicação precisa obter o XML. O XML pode vir de um webservice, lendo um arquivo, ou qualquer outra maneira. Neste caso, ele será uma variável hardcoded usando-se a tag <cfsavecontent>.

<cfsavecontent variable="authorXML">
<authors>
     <author firstName="Kevin" lastName="Schmidt" email="kevin.schmidt@authors.com" />
     <author firstName="Ed" lastName="Sullivan" email="ed.sullivan@authors.com" />
     <author firstName="Jon" lastName="Schmidt" email="jon.schmidt@authors.com" />
</authors>
</cfsavecontent>

Este é um pequeno pedaço de XML e um arquivo XML real, que tenha informações de autores, pode ter grande quantidade de outras informações relacionadas com os autores, como editora, livros, etc. Se a aplicação somente necessita a informação dos autores, usando a funcao XMLSearch permitirá a aplicação obter somente o requerido.

<cfset authors = XMLSearch( authorXML, "/authors/author" ) />
<cfdump var="#authors#" />

O código acima produz o seguinte:

XPath 1

Talvez a aplicação necessite obter um nível mais profundo e exibir autores com o sobrenome Schmidt. Isto é feito da mesma forma acima, mas com uma expressão XPath diferente.

<cfset authors = XMLSearch( authorXML,"/authors/author[@lastName='Schmidt']" ) />
<cfdump var="#authors#" />

O codigo acima produz o seguinte:

XPath 2

XPath é uma forma muito poderosa de pesquisar arquivos XML e os exemplos acima ilustram algumas das maneiras básicas de pesquisar. ColdFusion fornece as aplicações uma forma simples de usar XPath aravés da função XMLSearch.

by Kevin Schmidt

Versão em inglês: Adobe Cookbooks

Creative Commons License Adobe

 

0 responses to “Usando simples XPath para pesquisar XML”