none
Gerar classes, a partir do XSD RRS feed

  • Pergunta

  • Olá,

    Estou seguindo um tutorial para gerar classes c# a partir de arquivos XSD(schema para xml). O tutorial é este: http://www.spedbrasil.net/forum/topics/gerando-classes-microsoft-net-a-partir-de-xsd

    Porém, gostaria de saber como posso incluir os tipos complexos de cada xsd. Meu xsd é este:

    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    	xmlns:tipos="http://www.ginfes.com.br/tipos_v03.xsd"
    	targetNamespace="http://www.ginfes.com.br/cabecalho_v03.xsd"
    	elementFormDefault="unqualified" attributeFormDefault="unqualified">
    		<xsd:import schemaLocation="tipos_v03.xsd"	namespace="http://www.ginfes.com.br/tipos_v03.xsd" />
    	<xsd:element name="cabecalho">
    		<xsd:complexType>
    			<xsd:sequence>
    				<xsd:element name="versaoDados" type="tipos:tsVersao"
    					minOccurs="1" maxOccurs="1" />
    			</xsd:sequence>
    			<xsd:attribute name="versao" type="tipos:tsVersao" use="required" />
    		</xsd:complexType>
    	</xsd:element>
    </xsd:schema>


    Ao tentar gerar as classes, recebo a seguinte mensagem:

    Error: Error generating classes for schema 'C:\Teste\cabecalho_v03'.
      - Tipo de dados 'http://www.ginfes.com.br/tipos_v03.xsd:tsVersao' ausente.

    Esse endereço de xsd está indisponível, então tentei alterar o xsd para apontar fisicamente, deste modo:

    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    	xmlns:tipos="C:\Teste\tipos_v03.xsd"
    	targetNamespace="C:\Teste\cabecalho_v03.xsd"
    	elementFormDefault="unqualified" attributeFormDefault="unqualified">
    		<xsd:import schemaLocation="tipos_v03.xsd"	namespace="C:\Teste\tipos_v03.xsd" />
    	<xsd:element name="cabecalho">
    		<xsd:complexType>
    			<xsd:sequence>
    				<xsd:element name="versaoDados" type="tipos:tsVersao"
    					minOccurs="1" maxOccurs="1" />
    			</xsd:sequence>
    			<xsd:attribute name="versao" type="tipos:tsVersao" use="required" />
    		</xsd:complexType>
    	</xsd:element>
    </xsd:schema>

    De qualquer maneira recebo a mesma mensagem:

    Error: Error generating classes for schema 'C:\Teste\cabecalho_v03'.
      - Tipo de dados 'C:\Teste\tipos_v03.xsd:tsVersao' ausente.

    Alguém já passou por esse problema? Encontro diversos tutoriais na internet sobre como gerar, mas nenhum aborda esse problema.

    Obrigado.

    quinta-feira, 21 de janeiro de 2016 17:02

Respostas

  • Tente fazer com este site, joguei seu exemplo e funcionou

    http://xmltocsharp.azurewebsites.net/

    Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Sugerido como Resposta Erick WendelMVP quinta-feira, 21 de janeiro de 2016 17:58
    • Marcado como Resposta rafitas quinta-feira, 21 de janeiro de 2016 18:53
    quinta-feira, 21 de janeiro de 2016 17:58

Todas as Respostas

  • Tente fazer com este site, joguei seu exemplo e funcionou

    http://xmltocsharp.azurewebsites.net/

    Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Sugerido como Resposta Erick WendelMVP quinta-feira, 21 de janeiro de 2016 17:58
    • Marcado como Resposta rafitas quinta-feira, 21 de janeiro de 2016 18:53
    quinta-feira, 21 de janeiro de 2016 17:58
  • Obrigado pela dica Erick. Não cheguei a testar o seu exemplo, pois achei um software que também funcionou muito bem. Segue para quem também tiver este problema: http://www.xsd2code.com/

    Abraços

    quinta-feira, 21 de janeiro de 2016 18:53