none
gravar xml na estrutura do schema RRS feed

  • Pergunta

  •  

    Olá amigos!

    Estou com um problemão que não estou conseguindo resolver...

    preciso gravar um arquivo xml obedecendo um schema. (http://www.anvisa.gov.br/hotsite/sngpc/schemas/sngpc200608v1_0.xml)

    O codigo que estou usando eh o seguinte:

     

     

    ds.ReadXmlSchema("f:\sngpc200608v1_0B.xml")

     

    Dim drCabecalho As DataRow = ds.Tables("cabecalho").NewRow

    drCabecalho("cnpjEmissor") = "12123456000165"

    drCabecalho("cpfTransmissor") = "12123123000268"

    drCabecalho("dataInicio") = "2007-09-24"

    drCabecalho("dataFim") = "2007-09-25"

    ds.Tables("cabecalho").Rows.Add(drCabecalho)

    drCabecalho.AcceptChanges()

     

    Dim drNotaFiscalEntradaMedicamento As DataRow = ds.Tables("notaFiscalEntradaMedicamento").NewRow

    drNotaFiscalEntradaMedicamento("numeroNotaFiscal") = strNumeroNotaFiscal

    drNotaFiscalEntradaMedicamento("tipoOperacaoNotaFiscal") = strOperacaoNotaFiscal

    drNotaFiscalEntradaMedicamento("dataNotaFiscal") = strDataNotaFiscal

    drNotaFiscalEntradaMedicamento("cnpjOrigem") = strCNPJFornecedor

    drNotaFiscalEntradaMedicamento("cnpjDestino") = strCNPJDestino

    ds.Tables("notaFiscalEntradaMedicamento").Rows.Add(drNotaFiscalEntradaMedicamento)

    drNotaFiscalEntradaMedicamento.AcceptChanges()

     

    Dim drMedicamentoEntrada As DataRow = ds.Tables("medicamentoEntrada").NewRow

    drMedicamentoEntrada("registroMSMedicamento") = strRegistroMedicamento

    drMedicamentoEntrada("numeroLoteMedicamento") = strNumeroLote

    drMedicamentoEntrada("quantidadeMedicamento") = strQuantidade

    ds.Tables("medicamentoEntrada").Rows.Add(drMedicamentoEntrada)

    drMedicamentoEntrada.AcceptChanges()

     

    Dim drDataRecebimentoMedicamento As DataRow = ds.Tables("entradaMedicamentos").NewRow

    drDataRecebimentoMedicamento("dataRecebimentoMedicamento") = strDataRecebimento

    ds.Tables("entradaMedicamentos").Rows.Add(drDataRecebimentoMedicamento)

    drDataRecebimentoMedicamento.AcceptChanges()

     

    ds.WriteXml(strCaminhoXML)

     

     

    Só que ele não grava o arquivo de acordo com a estrutura do schema, ele grava as tabelas na ordem que está no codigo, uma abaixo da outra, e não uma dentro da outra como eh no esquema.... Já mexi em mil coisas e não funciona de jeito nenhum... já tentei por os relacionamentos e tal mas tb nao resolveu.. o schema q ele importa se debugar o codigo e ver no dataset ele tá lá tudo certinho.. mas qdo grava no xml ele não obedece... alguem tem alguma idéia do que pode estar havendo?

     

    obrigado pela atenção!!

    terça-feira, 25 de setembro de 2007 14:20

Respostas

  •  

    Olá.. consegui resolver..

     

    basicamente foi incluir uma linha depois de cada tabela lincando ela com a tabela mae e a principio funcionou...

     

    drMedicamentoEntrada.SetParentRow(drDataRecebimentoMedicamento)

     

    valeu
    terça-feira, 25 de setembro de 2007 22:16

Todas as Respostas