A função FILTERXML devolve dados específicos do conteúdo XML com o xpath especificado.
Observação
- 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
FILTROXML(xml, xpath)
A sintaxe da função FILTROXML 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 |
Observação
- Se xml não for válido, FILTERXML devolve o #VALUE! valor de erro.
- Se xml contiver um espaço de nomes com um prefixo que não é válido, FILTERXML devolve o #VALUE! valor de erro.
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").Observação
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 deve ser inserida como uma fórmula de matriz herdada, selecionando primeiro o intervalo de saída, inserindo a fórmula na célula superior esquerda do intervalo de saída e pressionando CTRL+SHIFT+ENTER para confirmar. O Excel insere colchetes no início e no final da fórmula para você. Para obter mais informações sobre fórmulas de matriz, confira 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 perguntar a um especialista na Comunidade Tecnológica do Excel ou obter suporte nas Comunidades.