none
validar xml c# RRS feed

Respostas

  • Boa Tarde Rafa.

     

    Uma maneira de saber se seu xml esta correto você pode carregalo em um DataSet:

     

    string xmlFilePath = Server.MapPath(@"App_Data/Symbols.xml");

            if (File.Exists(xmlFilePath))
            {
                //create the Dataset object
                using (DataSet ds = new DataSet())
                {
                    //load the xml data to the dataset
                    ds.ReadXml(xmlFilePath);
                }
            }

     

    Colocando esta rotina num Try-Catch vocÊ consegue capturar o erro.

     

    Abraço.

     

    André Ramiro

     

     

     

    sábado, 16 de julho de 2011 18:30

  • Boa tarde, Rafa_Martin.

    O erro apresentado eh o resultado da validaçao de conteudo do xsd. No caso a tag "tsNumeroLote" nao esta declarada no Xml, porem deve existir a validaçao desta tag no xsd. Veja se ela existe no xsd, caso nao precise dela remova a tag de validaçao "tsNumeroLote" do xsd.

    Espero ter ajudado,

    Abraço
    Rafael de Camillis Tairum
    MCPD Enterprise Application Developer 3.5 , Comptia+ TTT
    Blog: http://dicamillis.wordpress.com
    sábado, 29 de outubro de 2011 21:21

Todas as Respostas

  • pessoal, tenho o seguinte xml:

    <?xml version="1.0" encoding="utf-8"?>
    <tns:EnviarLoteRpsEnvio xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:tipos="http://www.ginfes.com.br/tipos" xmlns:tns="http://www.ginfes.com.br/servico_enviar_lote_rps_envio" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ginfes.com.br/servico_enviar_lote_rps_envio">
        <tns:NumeroLote>2</tns:NumeroLote>
        <tns:Cnpj>90790164000152</tns:Cnpj>
        <tns:InscricaoMunicipal>90790100178</tns:InscricaoMunicipal>
        <tns:QuantidadeRps>1</tns:QuantidadeRps>
        <tns:ListaRps>
            <tns:Rps>
                <tipos:IdentificacaoRps>
                    <tipos:Numero>1</tipos:Numero>
                    <tipos:Serie>A</tipos:Serie>
                    <tipos:Tipo>1</tipos:Tipo>
                </tipos:IdentificacaoRps>
                <tipos:DataEmissao>1975-08-18T01:34:33.63</tipos:DataEmissao>
                <tipos:NaturezaOperacao>5</tipos:NaturezaOperacao>
                <tipos:OptanteSimplesNacional>2</tipos:OptanteSimplesNacional>
                <tipos:IncentivadorCultural>2</tipos:IncentivadorCultural>
                <tipos:Status>1</tipos:Status>
                <tipos:Servico>
                    <tipos:Valores>
                        <tipos:ValorServicos>10000</tipos:ValorServicos>
                        <tipos:ValorPis>0</tipos:ValorPis>
                        <tipos:ValorCofins>0</tipos:ValorCofins>
                        <tipos:IssRetido>2</tipos:IssRetido>
                        <tipos:OutrasRetencoes>0</tipos:OutrasRetencoes>
                        <tipos:BaseCalculo>10000</tipos:BaseCalculo>
                        <tipos:Aliquota>0.05</tipos:Aliquota>
                        <tipos:ValorLiquidoNfse>10000</tipos:ValorLiquidoNfse>
                        <tipos:DescontoIncondicionado>0</tipos:DescontoIncondicionado>
                    </tipos:Valores>
                    <tipos:ItemListaServico>ABC</tipos:ItemListaServico>
                    <tipos:CodigoCnae>3720</tipos:CodigoCnae>
                    <tipos:CodigoTributacaoMunicipio>1</tipos:CodigoTributacaoMunicipio>
                    <tipos:Discriminacao>Teste</tipos:Discriminacao>
                    <tipos:MunicipioPrestacaoServico>4159</tipos:MunicipioPrestacaoServico>
                </tipos:Servico>
                <tipos:Prestador>
                    <tipos:Cnpj>90790164000132</tipos:Cnpj>
                    <tipos:InscricaoMunicipal>90790100188</tipos:InscricaoMunicipal>
                </tipos:Prestador>
                <tipos:Tomador>
                    <tipos:IdentificacaoTomador>
                        <tipos:CpfCnpj>
                            <tipos:Cnpj>19562042000105</tipos:Cnpj>
                        </tipos:CpfCnpj>
                    </tipos:IdentificacaoTomador>
                    <tipos:Contato />
                </tipos:Tomador>
                <tipos:IntermediarioServico>
                    <tipos:RazaoSocial>Testes Tomador</tipos:RazaoSocial>
                    <tipos:Cnpj>90790164000132</tipos:Cnpj>
                    <tipos:InscricaoMunicipal>90790100188</tipos:InscricaoMunicipal>
                </tipos:IntermediarioServico>
                <tipos:ConstrucaoCivil>
                    <tipos:CodigoObra>1</tipos:CodigoObra>
                    <tipos:Art>1</tipos:Art>
                </tipos:ConstrucaoCivil>
            </tns:Rps>
            <tns:Rps>
                <tipos:IdentificacaoRps>
                    <tipos:Numero>-6462</tipos:Numero>
                    <tipos:Serie>AB</tipos:Serie>
                    <tipos:Tipo>2</tipos:Tipo>
                </tipos:IdentificacaoRps>
                <tipos:DataEmissao>1971-07-10T05:37:39.40</tipos:DataEmissao>
                <tipos:NaturezaOperacao>3</tipos:NaturezaOperacao>
                <tipos:OptanteSimplesNacional>1</tipos:OptanteSimplesNacional>
                <tipos:IncentivadorCultural>1</tipos:IncentivadorCultural>
                <tipos:Status>2</tipos:Status>
                <tipos:Servico>
                    <tipos:Valores>
                        <tipos:ValorServicos>10</tipos:ValorServicos>
                        <tipos:ValorDeducoes>15</tipos:ValorDeducoes>
                        <tipos:ValorPis>15</tipos:ValorPis>
                        <tipos:ValorCofins>15</tipos:ValorCofins>
                        <tipos:ValorIr>15</tipos:ValorIr>
                        <tipos:IssRetido>10</tipos:IssRetido>
                        <tipos:ValorIss>15</tipos:ValorIss>
                        <tipos:OutrasRetencoes>10</tipos:OutrasRetencoes>
                        <tipos:BaseCalculo>10</tipos:BaseCalculo>
                        <tipos:Aliquota>-7203.7851</tipos:Aliquota>
                        <tipos:ValorLiquidoNfse>15</tipos:ValorLiquidoNfse>
                        <tipos:DescontoIncondicionado>0</tipos:DescontoIncondicionado>
                    </tipos:Valores>
                    <tipos:ItemListaServico>A</tipos:ItemListaServico>
                    <tipos:Discriminacao>Teste</tipos:Discriminacao>
                    <tipos:MunicipioPrestacaoServico>7232</tipos:MunicipioPrestacaoServico>
                </tipos:Servico>
                <tipos:Prestador>
                    <tipos:Cnpj>90790164000132</tipos:Cnpj>
                </tipos:Prestador>
                <tipos:Tomador>
                    <tipos:Endereco>
                        <tipos:Numero>1</tipos:Numero>
                        <tipos:Complemento>casa</tipos:Complemento>
                        <tipos:Bairro>Centro</tipos:Bairro>
                    </tipos:Endereco>
                </tipos:Tomador>
                <tipos:ConstrucaoCivil>
                    <tipos:CodigoObra>1</tipos:CodigoObra>
                    <tipos:Art>1</tipos:Art>
                </tipos:ConstrucaoCivil>
            </tns:Rps>
        </tns:ListaRps>
    </tns:EnviarLoteRpsEnvio>

    fiz um programa c# para validar esse xml. aí está me dando o seguinte erro: Tipo 'http://www.ginfes.com.br/tipos:tsNumeroLote' é não declarado.

    alguém saberia me dizer o porque?

    quinta-feira, 14 de julho de 2011 16:45
  • Rafa mais este erro acontece quando você vai tentar fazer o que com este arquivo? como este xml é montado: via código ou manualmente?

     

    Que tipo de validação você gostaria de fazer, validação de estrutura ou conteúdo?

     

    como funciona seu programa?

    quinta-feira, 14 de julho de 2011 18:19
  • Boa Tarde Rafa.

     

    Uma maneira de saber se seu xml esta correto você pode carregalo em um DataSet:

     

    string xmlFilePath = Server.MapPath(@"App_Data/Symbols.xml");

            if (File.Exists(xmlFilePath))
            {
                //create the Dataset object
                using (DataSet ds = new DataSet())
                {
                    //load the xml data to the dataset
                    ds.ReadXml(xmlFilePath);
                }
            }

     

    Colocando esta rotina num Try-Catch vocÊ consegue capturar o erro.

     

    Abraço.

     

    André Ramiro

     

     

     

    sábado, 16 de julho de 2011 18:30

  • Boa tarde, Rafa_Martin.

    O erro apresentado eh o resultado da validaçao de conteudo do xsd. No caso a tag "tsNumeroLote" nao esta declarada no Xml, porem deve existir a validaçao desta tag no xsd. Veja se ela existe no xsd, caso nao precise dela remova a tag de validaçao "tsNumeroLote" do xsd.

    Espero ter ajudado,

    Abraço
    Rafael de Camillis Tairum
    MCPD Enterprise Application Developer 3.5 , Comptia+ TTT
    Blog: http://dicamillis.wordpress.com
    sábado, 29 de outubro de 2011 21:21