& Chr(34) & " versao=" & Chr(34) & "1.00" & Chr(34) & "?>") arq.WriteLine("<Importador?>") If dsR.Read Then sImportador = dsR(0) sImportador = Replace(sImportador, ".", "") sImportador = Replace(sImportador, "-", "") arq.WriteLine("<tipoImportador?>" & dsR(1) & "</tipoImportador?>") arq.WriteLine("<cdImportador?>" & sImportador & "</cdImportador?>") End If dsR.Close() arq.WriteLine("</Importador?>") myCommand2IM = New MySqlCommand(sSQL, myConnectionMatrix) dsR = myCommand2IM.ExecuteReader While dsR.Read arq.WriteLine("<ItemMatriz?>") arq.WriteLine("<cdNcmProdFinal?>" & dsR(2) & "</cdNcmProdFinal?>") arq.WriteLine("<cdSuframa?>" & dsR(3) & "</cdSuframa?>") arq.WriteLine("<cdDestinacao?>" & dsR(4) & "</cdDestinacao?>") arq.WriteLine("<cdUtilizacao?>" & dsR(5) & "</cdUtilizacao?>") arq.WriteLine("<cdTributacao?>" & dsR(6) & "</cdTributacao?>") arq.WriteLine("<numDecreto?>" & Replace(dsR(7), "/", "") & "</numDecreto?>") arq.WriteLine("<tpDocumentoConcessivo?>" & "1" & "</tpDocumentoConcessivo?>") arq.WriteLine("<numDocumentoConcessivo?>" & Replace(dsR(8), "/", "") & "</numDocumentoConcessivo?>") sInicioBenf = dsR(9) Ano = Trim(Replace(Mid(sInicioBenf, 7, 4), "/", "")) Mes = Trim(Replace(Mid(sInicioBenf, 4, 2), "/", "")) Dia = Trim(Replace(Mid(sInicioBenf, 1, 2), "/", "")) sInicioBenf = Ano + Mes + Dia arq.WriteLine("<dtInicioBeneficio?>" & sInicioBenf & "</dtInicioBeneficio?>") sFimBenef = dsR(10) Ano = Trim(Replace(Mid(sFimBenef, 7, 4), "/", "")) Mes = Trim(Replace(Mid(sFimBenef, 4, 2), "/", "")) Dia = Trim(Replace(Mid(sFimBenef, 1, 2), "/", "")) sFimBenef = Ano + Mes + Dia arq.WriteLine("<dtFimBeneficio?>" & sFimBenef & "</dtFimBeneficio?>") arq.WriteLine("</ItemMatriz?>") End While arq.WriteLine("</InfMatrizDIe?>") arq.WriteLine("</MatrizDIe?>") arq.WriteLine("</enviMatrizDIe?>") dsR.Close() arq.Close() ' Create an XML document instance and load the XML data. Dim doc As XmlDocument = New XmlDocument() ' This code assumes that the XML file is in the same folder. doc.Load("C:\Temp\" + sArquivo) ' Save the XML to a file. doc.Save("C:\Temp\" + sArquivo) MsgBox("Arquivo XML criado com sucesso", MsgBoxStyle.Information, "Matriz Trubutacao") End SubPontosa observar:1. A notacao "?>" ou "??>" no final de cada tag deve ser substituida por ">" ou "/>" conforme o caso. Trata-se do editor de textos do blog que infelizmente foge ao meu controle!2. A notacao "&" e o "e comercial" necessario para separar campos no VB.NET;3. o campo Id (MatrizDIe) e a identificacao da matriz, e o numero que o segue deve, para facilitar, referir-se a inscricao da empresa no Cadastro de Contribuintes do Estado com 14 casas, ou seja, a informacao e numerica e o comprimento da informacao e de 14 digitos. Alguns estao colocando aqui um contador, mas este nao e o procedimentocorreto. 4. Aqui transformamos o arquivo-texto criado em um documento XML propriamente dito: ' Create an XML document instance and load the XML data. Dim doc As XmlDocument = New XmlDocument() ' This code assumes that the XML file is in the same folder. doc.Load("C:\Temp\" + sArquivo)No momento em que doc.Load e realizado o arquivo XML e verificado em relacao ao arquivo XSD carregado inicialmente - linha que contem o http://www.w3.org/2001/XMLSchema-instance. Voce pode acrescentar aqui um comando Try para indicar os erros dos arquivos XML que esta gerando. ' Save the XML to a file. doc.Save("C:\Temp\" + sArquivo)Apos o salvamento o arquivo XML esta pronto para ser assinado. A assinatura pode ser realizada com um certificado digital do Serasa e voces podem utilizar o mesmo codigo-fonte que postei aqui para realizar a assinatura deste documento.Segue um bom site que fala um pouco sobre assinaturas digitais:http://inginheiiro.wikidot.com/Sucesso a todos em 2014!