Login Registre-se
validar XML com XSD  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
sampaSP

JavaC Membro

Membro desde: 02/08/2013 16:26:04
Mensagens: 5
Offline

Boa noite, eu vi um usuário do Fórum perguntando como validar um XML de NFe usando vários XSD....
Bom, pesquisei no fórum e vou colocar o código aqui, não como solução, mas como uma dúvida minha também, pois trabalhando com esse códigos, onde existe um ENUM, percebi que tenho que tenho que informar qual schema xsd deve ser usado para validar a NFe...
Pois, agora é a minha dúvida comum ao do colega do fórum... como eu posso fazer para ao ler o Xml, ser direcionado para o Xsd correto?


*Lembrando que não sou o autor deste código, este código encontra-se nesse mesmo fórum e estou usando ele e queria saber se dá pra fazer oque relatei acima.

jocabaldini

JavaC Membro

Membro desde: 31/10/2012 14:21:25
Mensagens: 178
Offline

Segue minha classe de validação.


Dessa forma eu só mudo o argumento 'schema' de acordo com o xml que estou mandando validar.
enviNFe => List<String> errosValidacao = (List<String>validador.NFeValidacaoXML(strValueOf(enviNFe).getBytes(), 1);
inutNFe => List<String> errosValidacao = (List<String>validador.NFeValidacaoXML(strValueOf(inutNFe).getBytes(), 3);
envCCe => List<String> errosValidacao = (List<String>validador.NFeValidacaoXML(strValueOf(envEvento).getBytes(), 4);

Está funcionando bem pra mim.
sampaSP

JavaC Membro

Membro desde: 02/08/2013 16:26:04
Mensagens: 5
Offline

Obrigado pela ajuda, entendi sua lógica.

Então de qualquer forma terei que informar o tipo de xsd? Não há como por exemplo ao validar a NFe, o próprio sistema decidir qual o xml correto? Por exemplo, vi em alguns sites em que eu passo o conteúdo de meu xml e ele valida sem eu ter que informar o xsd.

Isso que queria saber se é possível ou se nem vale a pena usar essa forma que falei.

Mas de qualquer forma obrigado pela ajuda.
jocabaldini

JavaC Membro

Membro desde: 31/10/2012 14:21:25
Mensagens: 178
Offline

Não sei como o sistema poderia decidir isso.

Vc poderia até criar uma classe que recebe um XML e, a partir das tags desse XML, decidir qual XSD usar. Mas no final vc teria que colocar qual o XSD para cada tag do mesmo jeito.

Acho mais simples fazer desse jeito, pois na hora de chamar o validador vc sabe qual XSD ele tem que usar.
sampaSP

JavaC Membro

Membro desde: 02/08/2013 16:26:04
Mensagens: 5
Offline

Verdade! Vou desencanar disso rsrsrsrsrsr.
Muito obrigado mais uma vez!
TL2703

JavaC Membro

Membro desde: 29/09/2013 10:54:24
Mensagens: 1
Offline

Companheiros,

Voltando a esse topico. Entendo perfeitamente a colocação de vocês, porem enfrento esse problema.
Acho que entendo onde o sampaSP quer chegar.

Por exemplo:

Tenho uma caixa de email, onde recebedo emails com arquivos XML(NFe, CTe, ProcNFe,...) de meus fornecedores, clientes, transportadores e armazens. Pego todos os anexos com a extensão XML e salvo em um diretorio, porem como saber se esse arquivo referente ao XML de uma Nfe, um CTe, um cancelamento, procNfe,..?

Ou seja, tenho um arquivo XML que de imediado não sei a que se refere, como posso definir um XSD?

Alguem teria uma ideia, como identificar qual o tipo de arquivo para assim passar o tipo CSD valido para ser validado?
 
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Ir para:   
Powered by JForum 2.1.9 © JForum Team