A função FILTERXML devolve dados específicos do conteúdo XML com o xpath especificado.
Notas:
-
A função FILTERXML não está disponível em Excel para a Web e Excel para Mac.
-
Esta função pode aparecer na galeria de funções no Excel para Mac, mas baseia-se em funcionalidades do sistema operativo Windows, pelo que não devolverá resultados no Mac.
Sintaxe
FILTRARXML(xml, xpath)
A sintaxe da função FILTRARXML tem os seguintes argumentos.
|
Argumento |
Descrição |
|---|---|
|
xml Obrigatório |
Uma cadeia no formato XML válido |
|
xpath Obrigatório |
Uma cadeia no formato XPath padrão |
Notas:
-
Se xml não for válido, FILTERXML devolve o #VALUE! .
-
Se xml contiver um espaço de nomes com um prefixo que não é válido, FILTERXML devolve o #VALUE! #VALOR!
Exemplos
-
Este exemplo utiliza a função FILTERXML em dados XML devolvidos na célula B2, que é fornecida pelos resultados da função SERVIÇO WEB na consulta Web na célula B1.
Os dados de FILTERXML são devolvidos nas células B3:B5 e C3:C5 e mostram os três resultados de consulta atualizados mais recentemente na Wikipédia e a hora das atualizações (em UTC, "Hora Universal Coordenada").
As células B3:B5 contêm a fórmula =FILTERXML(B3,"//rc/@title").
As células C3:C5 contêm a fórmula =FILTERXML(B3,"//rc/@timestamp").
Nota: Se tiver uma versão atual do Microsoft 365, pode simplesmente introduzir a fórmula na célula superior esquerda do intervalo de saída e, em seguida, premir ENTER para confirmar a fórmula como uma fórmula de matriz dinâmica. Caso contrário, a fórmula tem de ser introduzida como uma fórmula de matriz legada ao selecionar primeiro o intervalo de saída, inserir a fórmula na célula superior esquerda do intervalo de saída e, em seguida, premir CTRL+SHIFT+ENTER para confirmar. O Excel insere automaticamente parênteses retos no início e no fim da fórmula. Para obter mais informações sobre fórmulas de matriz, consulte Diretrizes e exemplos de fórmulas de matriz.
-
Também pode utilizar FILTERXML em conjunto com as funções ENCODEURL e WEBSERVICE . Por exemplo, pode utilizar o serviço API markitondemand.com para devolver informações sobre ações de uma empresa:
=WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2))
Onde tem um ticker de cotações na célula C2.
Em seguida, pode utilizar a função FILTERXML para extrair dados específicos sobre esse stock. Por exemplo, para obter o Último Preço do ticker de ações na célula C2, pode utilizar:
=FILTERXML(WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2)),"//QuoteApiModel/Data/LastPrice")
Precisa de mais ajuda?
Pode sempre colocar uma pergunta a um especialista da Comunidade Tecnológica do Excel ou obter suporte nas Comunidades.