Nesse artigo você encontrará as seguintes informações:
Introdução ao XML
Analisando XML
Criando XML
Solução de problemas
Introdução ao XML
A ferramenta XML permite:
Analisar um texto formatado em XML por meio do módulo XML > "Parse XML" e converta-o em um pacote para disponibilizar os dados para outros módulos.
Converter um pacote em um texto formatado em XML por meio do módulo XML > "Create XML".
Analisando XML
O módulo XML > "Parse XML" analisa um texto formatado em XML e gera um único pacote contendo todas as informações extraídas do XML.
Estrutura de dados
A Estrutura de dados descreve a estrutura do XML para disponibilizar a saída do módulo no painel de mapeamento para os módulos seguintes.
Se você tiver uma amostra do XML que deseja analisar, poderá usá-la para gerar a estrutura de dados.
Passo a passo:
1º passo: clique em "Add".
2º passo: clique em "Generator".
3º passo: copie e cole a amostra XML no campo "Sample data".
4º passo: clique em "Save".
5º passo: verifique se a estrutura de dados foi gerada com sucesso.
Clique em "Save" para salvar a estrutura de dados.
❗ Observação
Você pode pular as etapas 2 a 5 para fornecer uma estrutura de dados vazia. Dessa forma, a saída do módulo não estará disponível no painel de mapeamento até que o módulo tenha sido executado pelo menos uma vez para processar uma entrada XML.
XML
O texto formatado em XML que você gostaria de analisar.
⚠️ Aviso:
Se você usar uma fórmula, verifique se o tipo de valor do resultado é (ou pode ser automaticamente forçado) tipo Texto. Se o tipo de valor do resultado for Buffer (dados binários), use "toString()" a função para convertê-lo no tipo Texto.
Exemplo
Um caso de uso típico é baixar um arquivo XML de um URL e analisar seu conteúdo.
Passo a passo:
1º passo: crie um cenário.
2º passo: insira o módulo HTTP > "Get a file"
3º passo: abra a configuração do módulo e configure-o da seguinte forma:
URL do arquivo XML (por exemplo https://siftrss.com/f/rqLy05ayMBJ)
4º passo: adicione o módulo "XML > Parse XML", conecte-o após o módulo "HTTP > Get a file" e configure-o da seguinte forma.
Estrutura de dados |
❗ Observação Você pode pular as etapas 2 a 9 para fornecer uma estrutura de dados vazia. Dessa forma, a saída do módulo não estará disponível no painel de mapeamento até que o módulo tenha sido executado pelo menos uma vez para processar uma entrada XML. |
XML | Mapeie o item "Data" da saída do HTTP > "Get a file" no campo. Use a função "toString()" para converter seu valor do tipo Buffer (dados binários) para o tipo Texto. Você pode copiar e colar o código da fórmula no campo: {{toString(1.data)}} |
Analisando atributos XML
Por padrão, o módulo XML > "Parse XML" colocará os atributos em uma coleção especial "_attributes" como filho do item que possui esses atributos. Se o item for de texto e tiver atributos, serão adicionadas duas propriedades especiais: "_attributes" para atributos e "_value" para o conteúdo de texto do item.
Exemplo
Este XML:
< root attr = "1" > < node attr = "ABC" > Olá, Mundo </ node > </ root >
será convertido neste bundle:
Criando XML
O módulo XML > "Create XML" converte um pacote configurável em um texto formatado em XML.
Estrutura de dados | A estrutura de dados descreve a estrutura do XML resultante. Se você tiver uma amostra do XML que deseja criar, poderá usá-la para gerar a estrutura de dados:
|
Exemplo
Um caso de uso típico é transformar dados de uma planilha do Google em XML. Aqui está o procedimento de como transformar os dados em um arquivo XML em dez etapas.
1º passo: coloque o módulo Planilhas Google > "Select rows" em seu cenário para buscar os dados. Configure o módulo para recuperar linhas de sua planilha do Google e defina o número máximo de linhas retornadas para um número pequeno, mas maior que um, para fins de teste (por exemplo, três). Execute o módulo Google Sheets (clique com o botão direito do mouse e escolha "Run this module only") e verifique a saída do módulo.
2º passo: conecte o módulo "Array Aggregator" após o módulo Google Sheets. Na configuração do módulo, escolha o módulo Google Sheets no campo "Source node". Deixe os outros campos como estão por enquanto.
3º passo: conectar "XML > "Create XML" módulo XML após o módulo "Array Aggregator". A configuração do módulo requer uma estrutura de dados que descreva a estrutura da saída XML. Clique em "Add" para abrir a configuração da estrutura de dados. A maneira mais fácil de criar essa estrutura de dados é gerá-la automaticamente a partir de uma amostra XML. Clique em "Generator" e cole sua amostra XML no campo "Sample data":
4º passo: clique em "Save". O campo de especificação na configuração da estrutura de dados agora deve conter a estrutura gerada.
5º passo: altere o nome da sua estrutura de dados para algo mais específico (por exemplo, "Minha estrutura de dados XML") e clique em "Save". Se tudo correr bem, um campo correspondente ao elemento XML raiz deve aparecer como um campo mapeável na configuração do módulo XML.
6º passo: clique em "Map" ao lado do campo e mapeie o "Array[ ]" item gerado pelo módulo "Array Aggregator" para ele:
7º passo: clique em "OK" para fechar a configuração do módulo XML.
8º passo: abra a configuração do módulo "Array Aggregator". Altere a estrutura de destino de "Custom" para um campo do módulo XML correspondente ao elemento XML pai. Mapeie os itens gerados pelo módulo Planilhas Google para os campos apropriados:
9º passo: clique em "OK" para fechar a configuração do módulo "Array Aggregator".
Execute o cenário. Se tudo correr bem, o módulo XML deve gerar o arquivo XML correto. Abra a configuração do módulo "Planilhas Google" e aumente o número máximo de linhas retornadas para ser maior que o número de linhas em sua planilha, para processar todos os dados. O XML resultante pode ser salvo no Dropbox, enviado como anexo por e-mail, carregado via FTP para um servidor, etc.
Adicionando atributos XML
Se você deseja adicionar atributos a um item complexo (um item que conterá outros itens), você deve adicionar uma coleção com o nome "_attribute" desse item em sua estrutura de dados personalizada, e essa coleção será mapeada para os atributos do item.
Se você deseja adicionar atributos a um item de texto (exemplo: <node attr="1">abc</node>), você deve adicionar uma coleção "_attributes" de atributos e uma propriedade de texto "_value" para o valor do item para este item em sua estrutura de dados personalizada.
Exemplo
{
"name" : "node" ,
"type" : "coleção" ,
"spec" : [
{ "name" : "_attributes" ,
"type" : "coleção" "spec" : [
{ "name" : "attr1 " ,
"tipo" : "texto"
}
]
},
{ "nome" : "_valor",
"tipo" : "texto"
}
]
}
Solução de problemas
Não é possível mapear dados do módulo Parse XML
Certifique-se de que a estrutura de dados esteja definida corretamente. Como alternativa, você pode usar uma estrutura de dados vazia e executar o módulo pelo menos uma vez para processar uma entrada XML.
Pronto! Agora você já sabe tudo sobre a ferramenta XML no Toolzz Connect.