XPATH_STRING
Descrição
XPATH_STRING
é uma função de linha que recebe XML e retorna a primeira cadeia de caracteres que corresponde à expressão XPath fornecida.Sintaxe
XPATH_STRING
(xml_expression
,"xpath_expression
")Valor de retorno
Retorna um valor por linha do tipo
TEXT
. Se a expressão XPath corresponde a mais de uma cadeia de caracteres no nó XML especificado, essa função retorna apenas a
primeira
correspondência. Para retornar todas as correspondências, use XPATH_STRINGS
Em vez disso,Parâmetros de entrada
- xml_expression
- É obrigatório. O nome de um campo do tipo .TEXTou uma cadeia de caracteres literal que contém um nó XML válido (um trecho de XML que consiste em um elemento pai e um ou mais nós filho).
- xpath_expression
- É obrigatório. Uma expressão XPath que se refere a um nó, elemento ou atributo na cadeia de caracteres XML transmitida para esta expressão. Qualquer expressão XPath que esteja em conformidade com a especificação do XML Path Language (XPath) Versão 1.0 é válida.
Exemplos
Esses exemplos
XPATH_STRING
As expressões pressupõem que você tem um campo no conjunto de dados denominado endereço
que contém cadeias de caracteres com formato XML, como esta:<list> <address type="work"> <street1>1300 So. El Camino Real</street1> <street2>Suite 600</street2> <city>San Mateo</city> <state>CA</state> <zipcode>94403</zipcode> </address> <address type="home"> <street1>123 Oakdale Street</street1> <street2/> <city>San Francisco</city> <state>CA</state> <zipcode>94123</zipcode> </address> </list>
Obtenha o valor
de código postal
de qualquer elemento de endereço
em que o atributo type
seja igual à página inicial
:XPATH_STRING([address], "//address[@type='home']/zipcode")
retorna:
94123
Obtenha o valor
da cidade
do segundo elemento de endereço
:XPATH_STRING([address], "/list/address[2]/city")
retorna:
San Francisco
Obtenha os valores de todos os elementos filho do primeiro elemento de endereço (como uma cadeia de caracteres):
XPATH_STRING([address], "/list/address")
retorna:
1300 So. El Camino RealSuite 600 San MateoCA94403