Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Joacir

Linho no final de Arquivo XML

Recommended Posts

Olá! Tenho um sistema em VB6 que gera um arquivo de retorno em XML, utilizando DomDocument para gerar o XML, foi o que encontrei de mais rápido e estruturado para montar o arquivo XML.


A geração do arquivo está ok, o problema é que precisa ser colocada uma linha de validação no final do arquivo e fora do nó raíz e aí deu problema. Me passaram a dica de utilizar o comando print para salvar a linha, deu certo, mas, aí deixou o arquivo fora do padrão e o departamento que valida o arquivo me retornou que o arquivo é inválido;



Agradeceria idéias para solucionar este problema;



Obrigado e até ...


Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi! A geração do arquivo está como o exemplo abaixo:

Dim xml As New DOMDocument
Dim PrimeiroNo As IXMLDOMElement
Dim SegundoNo As IXMLDOMElement
Dim TerceiroNo As IXMLDOMElement
Dim QuartoNo As IXMLDOMElement
Dim Cabec, CampoDoNo As IXMLDOMElement
        
'Cria o elemento raíz
Set PrimeiroNo = xml.createElement("PrimeiroNo") 'Abre o primeiro nó.
                
Call PrimeiroNo.setAttribute("xmlns", "NamespaceDoPrimeiroNo") 'Define o atributo do namespace.
         
Call xml.appendChild(PrimeiroNo) 'Carrega o primeiro nó.
       
'Define a declaração inicial do xml.
Set Cabec = xml.createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'")
xml.insertBefore Cabec, PrimeiroNo
                
Set SegundoNo = xml.createElement("SegundoNo") 'Abre o segundo nó.
        
Set CampoDoNo = xml.createElement("Campo1doSegundoNo") 'Cria o campo do segundo nó
CampoDoNo.Text = "Valor do Campo 1 doSegundoNo": Call SegundoNo.appendChild(CampoDoNo)
        
Set CampoDoNo = xml.createElement("Campo2doSegundoNo")
CampoDoNo.Text = "Valor do campo 2 do SegundoNo": Call SegundoNo.appendChild(CampoDoNo)
        
Set CampoDoNo = xml.createElement("Campo3doSegundoNo")
CampoDoNo.Text = "Valor do campo 3 do SegundoNo": Call SegundoNo.appendChild(CampoDoNo)
        
Set TerceiroNo = xml.createElement("TerceiroNo") 'Abre o terceiro nó.
        
Set CampoDoNo = xml.createElement("Campo1doTerceiroNo") 'Cria o campo do terceiro nó
CampoDoNo.Text = "Valor do campo 1 Do TerceiroNo": Call TerceiroNo.appendChild(CampoDoNo)
        
Set CampoDoNo = xml.createElement("Campo2doTerceiroNo")
CampoDoNo.Text = "Valor do campo 2 Do TerceiroNo": Call TerceiroNo.appendChild(CampoDoNo)
        
Set QuartoNo = xml.createElement("QuartoNo") 'Abre o quarto nó.
Set CampoDoNo = xml.createElement("Campo1doQuartoNo") 'Cria o campo do quarto nó
CampoDoNo.Text = "Valor do campo 1 Do QuartoNo": Call QuartoNo.appendChild(CampoDoNo)
        
Call TerceiroNo.appendChild(QuartoNo) 'Finaliza o quarto nó.
Call SegundoNo.appendChild(TerceiroNo) 'Finaliza o terceiro nó.
            
Call PrimeiroNo.appendChild(SegundoNo) 'Finaliza o segundo no e o documento xml.
xml.Save ("c:\TESTEXMLVB6.xml") 'Salva no local especificado.


Até aqui, perfeito, o arquivo é gerado sem problemas; Porém, preciso colocar uma última linha para validar o arquivo pelo solicitante e fiz conforme segue abaixo e aí fica fora do padrãom ou seja, se abrir pelo notepad ou editor XML não está identado como arquivo XML;


open TESTEXMLVB6.xml for append as #1
print #1, hash
close #1

Obrigado e até ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.