A função FILTERXML retorna dados específicos do conteúdo XML usando o xpath especificado.
Observações:
-
A função FILTERXML não está disponível em Excel para a Web e Excel para Mac.
-
Essa função pode aparecer na galeria de funções no Excel para Mac, mas se baseia nos recursos do sistema operacional Windows, portanto, não retornará 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 de caracteres em formato XML válido |
xpath Obrigatório |
Uma cadeia de caracteres no formato XPath padrão |
Observações:
-
Se xml não for válido, FILTERXML retornará o #VALUE! valor de erro.
-
Se xml contiver um namespace com um prefixo que não seja válido, FILTERXML retornará o #VALUE! valor de erro.
Exemplos
-
Este exemplo usa a função FILTERXML em dados XML retornados na célula B2, que é fornecida pelos resultados da função WEBSERVICE na consulta da Web na célula B1.
Os dados de FILTERXML são retornados 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 de suas atualizações (em UTC, "Tempo Universal Coordenado").
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 você tiver uma versão atual do Microsoft 365, poderá simplesmente inserir a fórmula na célula superior esquerda do intervalo de saída e pressionar ENTERpara 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.
-
Você também pode usar FILTERXML em conjunto com as funções ENCODEURL e WEBSERVICE. Por exemplo, você pode usar o serviço de api markitondemand.com para retornar informações sobre um estoque da empresa:
=WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2))
Onde você tem um ticker de ações na célula C2.
Em seguida, você pode usar a função FILTERXML para extrair dados específicos sobre essa ação. Por exemplo, para obter o Último Preço do ticker de ações na célula C2, você pode usar:
=FILTERXML(WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2)))"//QuoteApiModel/Data/LastPrice")
Precisa de mais ajuda?
Você pode sempre consultar um especialista na Excel Tech Community ou obter suporte nas Comunidades.