none
Perda de hierarquia ao gerar XML RRS feed

  • Pergunta

  • Galera, boa tarde!

    Estou querendo gerar um XML a partir de um DataSet que foi gerado de um XMLSchema, mas ao gerar o XML o mesmo perde a hirarquia que havia no XMLSchema. Segue abaixo um exemplo:

    O arquivo que deveria sair assim...

    <?xml version="1.0" encoding="utf-8"?>
    <NFe>
      <DADOS_NF>
        <EMPRESA>00.000.000/0000-00</EMPRESA>
        <NUMERO>100</NUMERO>
        <SERIE>1</SERIE>
        <DT_EMISSAO>2008-02-18</DT_EMISSAO>
        <DETALHES_NF>
          <COD_ITEM>45</COD_ITEM>
          <DESC_ITEM>ITEM 1</DESC_ITEM>
          <QUANTIDADE>5</QUANTIDADE>
        </DETALHES_NF>
        <DETALHES_NF>
          <COD_ITEM>89</COD_ITEM>
          <DESC_ITEM>ITEM 2</DESC_ITEM>
          <QUANTIDADE>9</QUANTIDADE>
        </DETALHES_NF>
      </DADOS_NF>
    </NFe>

    ....., mas está saindo assim...

    <?xml version="1.0" encoding="utf-8"?>
    <NFe>
      <DADOS_NF>
        <EMPRESA>00.000.000/0000-00</EMPRESA>
        <NUMERO>100</NUMERO>
        <SERIE>1</SERIE>
        <DT_EMISSAO>2008-02-18</DT_EMISSAO>
      </DADOS_NF>
      <DETALHES_NF>
        <COD_ITEM>45</COD_ITEM>
        <DESC_ITEM>ITEM 1</DESC_ITEM>
        <QUANTIDADE>5</QUANTIDADE>
      </DETALHES_NF>
      <DETALHES_NF>
        <COD_ITEM>89</COD_ITEM>
        <DESC_ITEM>ITEM 2</DESC_ITEM>
        <QUANTIDADE>9</QUANTIDADE>
      </DETALHES_NF>
    </NFe>

    Estou gerando o XML a partir do código em VB.NET abaixo:
              
                'Cria um dataset a partir de um XML Schema
                ds.ReadXmlSchema("C:\Arquivo.XSD")
                ds.EnforceConstraints = True
    
                'Carrega todos os dados necessários nas tabelas do dataset
                CarregaDados()
    
                ds.DataSetName = "NFe"
    
                Dim settings As New XmlWriterSettings()
                settings.Indent = True
                settings.Encoding = Encoding.UTF8
                settings.CloseOutput = False
                settings.CheckCharacters = True
    
                Using writer As XmlWriter = XmlWriter.Create("ArquivoGerado.xml", settings)
                    ds.WriteXml(writer)
                    writer.Close()
                    writer.Flush()
                End Using

    Alguem poderia me ajudar?

    Grato,
    rbvianna.
    sexta-feira, 19 de fevereiro de 2010 15:09