Free Trial

Fórum

SOLUCIONADO

Input de Varios Arquivos XML

afprospero
Asteroide

Boa tarde pessoa, td bem.

Preciso de uma ajuda para criar um fluxo de leitura de vários arquivos xml em um mesmo diretório.

Tentei criar um utilizando o Dynamic Input Data e antes dele o Directory Input. Alterei no Dynamic o Full Path pelo Full Path vindo do Directory Input, e ele até gerar os 29 fullpath que preciso. Ai quando ele vai ler os 29 arquivos no Dynamic ele da erro em uns 16 arquivos  dizendo que o schema não está correto ao do apontado no Dynamic Input e não le, mas pelo que pude verificar todos os arquivos xml estão com a mesma estrutura de campos e colunas e analisando o browser e os metadatas parece que somente consegue ler os dados do primeiro arquivo xml, dando erro nos demais

Alguém pode me ajudar. Não posso compartilhar os arquivos xml, pois contem informações confidenciais de clientes, mas vou compartilhar telas da configuração que fiz.

Obrigado

8 RESPOSTAS 8
carlosteixeira
15 - Aurora
15 - Aurora

@afprospero tudo bem?

 

Sem algum modelo de xml pra gente testar não vamos conseguir te ajudar de uma forma precisa e assertiva.

Se puder compartilhar o fluxo ou alguns XML's de exemplo seria legal.

Pelas imagens que você enviou, as configurações parecem estar corretas

 

Dito isto vamos lá:

1 - quando temos erro de schema isso quer dizer que alguma coisa entre os arquivos não bate. Isso vale para os arquivos em Excel também.

2 - Precisa checar se dentro do XML por exemplo não existem hierarquias diferentes entre eles o que iria configurar os schemas diferentes

3 - Verifique se no final/Inicio dos aqruivos você por acaso não tem quantidade de caracteres em branco que támbém iria caracterizar a diferença nos schemas.

4  - verifique se as origens dos XML's são as mesmas. Se você estiver recebendo os XML´s "iguais" mas de sistemas diferentes provavelmente os schemas serão diferentes também.

 

Caso todas essas possibilidades estejam checadas e eliminadas como possíveis causas do seu problema, eu partiria para a utilização de uma BATCH MACRO para ler esses xmls.

 

Para isso você pode dar uma olhada nesse video aqui

https://youtu.be/fFhYbXw0BgE do nosso amigo @marcusblackhill que deu uma explicação bem bacana de como fazer isso. Ele está usando XLSX no exemplo mas você pode mudar para o XML.

 

Espero que ajude.

 

Abraços

Carlos A Teixeira
Fala pessoal, beleza? Quantas vezes você já não se deparou com a situação de precisar unificar diversos arquivos excel rapidamente? Até aí tudo bem, já pode ter visto que existem algumas maneiras simples de fazer isso mas e quando o layout dos arquivos ou sheets é diferente? Aí o bixo pega né? ...
afprospero
Asteroide

Carlos, bom dia.

Obrigado pela ajuda mais uma vez. Bem, eu alterei 3 arquivos XML para manter a confidencialidade dos clientes (tentei de todo jeito fazer upload aqui mas não consegui. Troquei para csv, xml, txt, xlsx e nada. Tem alguma dica para fazer upload aquidos arquivos?). De qualquer forma vou explicar abaixo com mais detalhes o que preciso.

Eu preciso ler N xmls em um diretório e eu to recebendo erro de schema. O erro pode ser devido aos header dos xml terem informações diferentes entre si. Pois no Header contem informações de clientes, cnpj, numero de conta, e é exclusivo para cada xml, pois é 1 xml para cada cliente.

Dito isso, eu preciso de um fluxo que me traga as infos do header como coluna nome, cnpj, etc e depois me traga as informações que estão na seção titprivado, que irão sempre ter a mesma estrutura, alterando somente os valores, com os nomes de isin, codativo, etc.

Vale lembrar que quando eu carrego 1 arquivo único ele me traz a seção titprivado com as infos que preciso mas despreza as infos do header, que tbm preciso.

Se conseguir visualizar uma forma de resolver e puder me ajudar mais uma vez agradeço.

FláviaB
Alteryx Community Team
Alteryx Community Team

Oi, @afprospero. Apenas para eu entender o que está acontecendo quando você tenta fazer o upload dos arquivos aqui, o que exatamente acontece? Você recebe alguma mensagem de erro? Tem algum print pra compartilhar pra ver se eu consigo investigar melhor? 

Flávia Brancato
afprospero
Asteroide

Seguem duas telas anexas da tentativa do xml e do xml convertido.

 

FláviaB
Alteryx Community Team
Alteryx Community Team

Oi, @afprospero. Tente reverter o arquivo para .pdf ou outro tipo de imagem, como .png. Vamos ver se isso resolve. 

Flávia Brancato
carlosteixeira
15 - Aurora
15 - Aurora

@afprospero tudo bem?

 

Como você não conseguiu subir seus arquivos aqui, eu fiz um modelo usando uns xmls de exemplo ok?

talvez precise fazer alguns ajustes, mas no geral acho que vai funcionar pro seu problema.

 

O segredo eu acho que está todo na forma como lemos o XML na entrada.

 

A idéia seria ler cada arquivo como 1 unica linha e após isso ler o que está dentro de cada linha.

Veja a configuração do input data (lendo todos os xmls de um unico diretório)

carlosteixeira2005_0-1613752563896.png

Após isso seleciono apenas o campo que me interessa (XPTO_outerXML)

Coloco um Record ID para identificar de onde vem a minha linha

Uso os XMLS Parses pra pegar os dados em seus "filhos"

E finalmente junto tudo usando um Multiple JOIN (Record ID na chave)

 

carlosteixeira2005_1-1613752729499.png

 

Acho que funcionou.

 

Testa aí.

 

Abraços

 

Carlos A Teixeira
afprospero
Asteroide

@carlosteixeira como sempre muito atencioso e me ajudando demais. Cara, fiz o teste aqui e rodou perfeitamente do jeito que preciso.

Tem uns ajustes que vou fazer mas a idéia principal vc matou. Salvou minha pele aqui cara.

Valeu.

FláviaB
Alteryx Community Team
Alteryx Community Team

Maravilha, @afprospero!!!

 

@carlosteixeira Carlão, como sempre, obrigada pela força! 😀

Flávia Brancato
Rótulos