Desenvolvimento NFS-e
Desenvolvimento NFS-e

Site destinado a desenvolvedores de softwares na integração com a NFS-e.
 
InícioInício  CalendárioCalendário  FAQFAQ  BuscarBuscar  GruposGrupos  Registrar-seRegistrar-se  Conectar-se  

Compartilhe | 
 

 Validador XML com Multiplos XSD

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
MarcioGarcia



Mensagens : 1
Data de inscrição : 06/09/2015

MensagemAssunto: Validador XML com Multiplos XSD   Dom Set 06, 2015 9:19 pm

Validador XML com Multiplos XSD - em JAVA -para teste de envio RPS ou outros..

Código:


package br.com.newsoftware.rps.v3.client;

import java.io.File;

import javax.xml.XMLConstants;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;

import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;

public class XMLValidation {

   public static void main(String[] args) {

      String pathBase = "C:\\workspace\\home\\ns\\RPS\\v3\\x\\";
      String fileName = "a2.xml";

      String xsd_file1 = "tipos_v03.xsd";
      String xsd_file2 = "servico_enviar_lote_rps_envio_v03.xsd";
      String xsd_file3 = "servico_enviar_lote_rps_resposta_v03.xsd";
      try {
         Source[] sourceSchema = new StreamSource[] {
               new StreamSource(new File(pathBase + xsd_file1)),
               new StreamSource(new File(pathBase + xsd_file2)),
               new StreamSource(new File(pathBase + xsd_file3))
               // Append more and more...
         };

         SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

         Schema schema = factory.newSchema(sourceSchema);

         Validator validator = schema.newValidator();

         ForgivingErrorHandler errorHandler = new ForgivingErrorHandler();
         validator.setErrorHandler(errorHandler);

         validator.validate(new StreamSource(new File(pathBase + fileName)));

      } catch (Exception e) {
         System.out.println(e.getMessage());
      }
   }
}

class ForgivingErrorHandler implements ErrorHandler {
   public void warning(SAXParseException ex) {
      System.err.println(ex.getMessage());
   }

   public void error(SAXParseException ex) {
      System.err.println(ex.getMessage());
   }

   public void fatalError(SAXParseException ex) throws SAXException {
      throw ex;
   }
}

Voltar ao Topo Ir em baixo
Vinicius Silveira ADM
Admin
avatar

Mensagens : 441
Data de inscrição : 23/02/2012
Localização : São Paulo

MensagemAssunto: Re: Validador XML com Multiplos XSD   Qua Set 09, 2015 4:18 pm

Olá Marcio,

Obrigado por postar ,,,, isso pode ajudar muitas pessoas aqui.

Voltar ao Topo Ir em baixo
http://SuporteNFS-e.forumeiros.com
 
Validador XML com Multiplos XSD
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Desenvolvimento NFS-e  :: Arquivo XML-
Ir para: