terça-feira, 26 de junho de 2012

Criando arquivos XML com VB6

Bom pessoal esse é o meu primeiro post e para iniciar eu gostaria de mostrar como criar um arquivo XML pois vejo muita gente manipulando ainda com o velho:
Print #1, "<?xml version=""1.0"" encoding=""UTF-8""?>".

Eu sinceramente tenho nojo de trabalhar assim, tem gente que pode até dizer más eu gosto de programar assim é mais fácil. Dai eu lhe digo "Você é chato, e eu não trabalharia com você! ;)".

Más chega de blábláblá e vamos ao que interessa.

Quem trabalha com automação comercial sabe que os arquivos xmls já vem sendo utilizado pelos novos modelos de documentos fiscais ex: NF-e, NFS-e, CT-e etc...

Com isso surge a necessidade de aprender a cria-lo para assim poder atender essas novas exigências.

Como esse pequeno tuto não é teórico é só lançar essas siglas no Google que vocês vão conhecer mais afundo.

Código em vb6

Resultado
        Código para cópia e colar

        'Por Ewerson Felix ;)
        'OBS. Adicione em suas referências O "Microsoft XML, v6.0"
        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.

        Bom então é só isso. Simples não? Claro é VB ;)
      Se lhe ajudou me siga no @ewersonfelix