DIFICULDADES EM CRIAR XML CTE

DJHASSELMANN 14/04/2011 15:09:34
#371338
[txt-size=1]Oi pessoal!

Estou com dificuldades em criar arquivo XML utililando o DOMDocument do VB6, pois chega na hora em que executo o fragmento para gerar o mesmo aparece um, para exemplificar segue o trecho do código.

--------------------------------
Option Explicit
Dim Nome As String, arquivo As Variant
Dim xmldoc As DOMDocument60, Root As IXMLDOMElement, Inst As IXMLDOMProcessingInstruction

Private Sub LaVolpeButton1_Click()

Set xmldoc = CreateObject([Ô]MSXML2.DOMDocument.6.0[Ô])

Nome = Path & [Ô]Chave-Cte.xml[Ô] [ô] Este nome é sé exemplo
arquivo = xmldoc.Load(Nome)

If arquivo = True Then

MsgBox [Ô]Arquivo já existente ![Ô]
Set xmldoc = Nothing
Exit Sub

End If

Set Root = xmldoc.createElement([Ô]CTe xmlns=[ô]http://www.portalfiscal.inf.br/cte[ô][Ô])
xmldoc.appendChild Root

Set Inst = xmldoc.createProcessingInstruction([Ô]xml[Ô], [Ô]version=[ô]1.0[ô] encoding=[ô]UTF-8[ô][Ô])
xmldoc.insertBefore Inst, Root

xmldoc.Save Nome


End Sub[b]

E o erro conforme anexo.

Obrigado a quem ajudar-me

[/txt-size]
FUTURA 14/04/2011 17:46:07
#371352
estou começando a pensar em colocar no meu sistema, voce sabe se tem algum prazo para o estado de sp ??
DJHASSELMANN 18/04/2011 09:28:35
#371647
Este já resolvido, porém agora estou com outro problema, tive que criar attributes para poder gerar aquela linha, só que na hora que gero o segundo attribute no segundo nó esta pegando o dado do primeiro nó, conforme exemplo do xml gerado o qual segue abaixo,

<?xml version=[Ô]1.0[Ô] encoding=[Ô]UTF-8[Ô]?>
-<CTe [txt-color=#e80000]xmlns=[/txt-color][Ô]http://www.portalfiscal.inf.br/cte[Ô]>
<infCte [b[txt-color=#e80000]]xmlns=[Ô][Ô][/txt-color][/b] Id=[Ô]CTe35110196353131000121570000000125650000125658[Ô] versao=[Ô]1.03[Ô]/>
</CTe>

o fragmento do código que estou usando:

Private Sub LaVolpeButton1_Click()
Dim Raiz, Cabec, attr, InfVer, attr1, attr2

Set XMLdoc = CreateObject([Ô]MSXML2.DOMDocument.6.0[Ô])
XMLdoc.async = False
XMLdoc.validateOnParse = False
XMLdoc.resolveExternals = False
XMLdoc.preserveWhiteSpace = True

Nome = Path & [Ô]Chave-Cte.xml[Ô] [ô] Este nome é sé exemplo
arquivo = XMLdoc.Load(Nome)

If arquivo = True Then

MsgBox [Ô]Arquivo já existente ![Ô]
Set XMLdoc = Nothing
Exit Sub

End If

[txt-color=#e80000] Set Raiz = XMLdoc.createElement([Ô]CTe[Ô])
Set attr = XMLdoc.createAttribute([Ô]xmlns[Ô])
attr.Value = [Ô]http://www.portalfiscal.inf.br/cte[Ô]
Raiz.setAttributeNode attr
Set attr = Nothing
XMLdoc.appendChild Raiz[/txt-color]

Set Cabec = XMLdoc.createProcessingInstruction([Ô]xml[Ô], [Ô]version=[ô]1.0[ô] encoding=[ô]UTF-8[ô][Ô])
XMLdoc.insertBefore Cabec, Raiz

[txt-color=#e80000]Set InfVer = XMLdoc.createElement([Ô]infCte[Ô])
Set attr1 = XMLdoc.createAttribute([Ô]versao[Ô])
attr1.Value = [Ô]1.03[Ô]
InfVer.setAttributeNode attr1

Set attr2 = XMLdoc.createAttribute([Ô]Id[Ô])
attr2.Value = [Ô]CTe35110196353131000121570000000125650000125658[Ô]

InfVer.setAttributeNode attr2
Set attr1 = Nothing
Set attr2 = Nothing

Raiz.appendChild InfVer[/txt-color]


XMLdoc.Save Nome

Se alguém tiver uma solução para poder ajudar-me fico grato!

Obrigado!
ERLANMG 18/04/2011 09:48:18
#371650
DJHASSELMANN,

Desculpe, mas estou criando como abaixo. Achei mais pratico.

Dim X As String
X = Chr(34)

Open App.Path & [Ô]\XML\[Ô] & chave & [Ô]-cte[Ô] & [Ô].xml[Ô] For Output As #1
Print #1, [Ô]<?xml version=[ô]1.0[ô] encoding=[ô]UTF-8[ô]?>[Ô]
Print #1, [Ô]<CTe [Ô] & [Ô]xmlns=[Ô] + X & [Ô]http://www.portalfiscal.inf.br/cte[Ô] & X & [Ô]>[Ô]
Print #1, [Ô]<infCte versao=[ô]1.03[ô] Id=[Ô] + X & [Ô]CTe[Ô] & chave & X & [Ô]>[Ô]
Print #1, [Ô]<ide>[Ô]
Print #1, [Ô] <cUF>[Ô] & ide_cUF & [Ô]</cUF>[Ô]
Print #1, [Ô] <cCT>[Ô] & ide_cCT & [Ô]</cCT>[Ô]
Print #1, [Ô] <CFOP>[Ô] & ide_CFOP; [Ô]</CFOP>[Ô]
Print #1, [Ô] <natOp>[Ô] & ide_natOp & [Ô]</natOp>[Ô]
Print #1, [Ô] <forPag>[Ô] & ide_forPag & [Ô]</forPag>[Ô]
Print #1, [Ô] <mod>[Ô] & ide_mod & [Ô]</mod>[Ô]
Print #1, [Ô] <serie>[Ô] & ide_serie & [Ô]</serie>[Ô]
Print #1, [Ô] <nCT>[Ô] & CStr(CInt(ide_nCT)) & [Ô]</nCT>[Ô]
Print #1, [Ô] <dhEmi>[Ô] & ide_dhEmi & [Ô]</dhEmi>[Ô]
Print #1, [Ô] <tpImp>[Ô] & ide_tplmp & [Ô]</tpImp>[Ô]
Print #1, [Ô] <tpEmis>[Ô] & ide_tpEmis & [Ô]</tpEmis>[Ô]
Print #1, [Ô] <cDV>[Ô] & ide_cDV & [Ô]</cDV>[Ô]
Print #1, [Ô] <tpAmb>[Ô] & ide_tpAmb & [Ô]</tpAmb>[Ô]
Print #1, [Ô] <tpCTe>[Ô] & ide_tpCTe & [Ô]</tpCTe>[Ô]
Print #1, [Ô] <procEmi>[Ô] & ide_prcEmi & [Ô]</procEmi>[Ô]
Print #1, [Ô] <verProc>[Ô] & ide_verProc & [Ô]</verProc>[Ô]
Print #1, [Ô] <cMunEmi>[Ô] & ide_cMunEmi & [Ô]</cMunEmi>[Ô]
Print #1, [Ô] <xMunEmi>[Ô] & ide_xMunEmi & [Ô]</xMunEmi>[Ô]
Print #1, [Ô] <UFEmi>[Ô] & ide_UFEmi & [Ô]</UFEmi>[Ô]
Print #1, [Ô] <modal>[Ô] & ide_modal & [Ô]</modal>[Ô]
Print #1, [Ô] <tpServ>[Ô] & ide_tpServ & [Ô]</tpServ>[Ô]
Print #1, [Ô] <cMunIni>[Ô] & ide_cMunIni & [Ô]</cMunIni>[Ô]
Print #1, [Ô] <xMunIni>[Ô] & ide_xMunIni & [Ô]</xMunIni>[Ô]
Print #1, [Ô] <UFIni>[Ô] & ide_UFIni & [Ô]</UFIni>[Ô]
Print #1, [Ô] <cMunFim>[Ô] & ide_cMunFim & [Ô]</cMunFim>[Ô]
Print #1, [Ô] <xMunFim>[Ô] & ide_xMunFim & [Ô]</xMunFim>[Ô]
Print #1, [Ô] <UFFim>[Ô] & ide_UFFim & [Ô]</UFFim>[Ô]
Print #1, [Ô] <retira>[Ô] & ide_retira & [Ô]</retira>[Ô]
Print #1, [Ô]<toma03>[Ô]
Print #1, [Ô] <toma>[Ô] & ide_toma & [Ô]</toma>[Ô]
Print #1, [Ô]</toma03>[Ô]
Print #1, [Ô]</ide>[Ô]
[ô]====== Gera XML Emitente ==========
Print #1, [Ô]<emit>[Ô]
Print #1, [Ô] <CNPJ>[Ô] & emi_cnpj & [Ô]</CNPJ>[Ô]
Print #1, [Ô] <IE>[Ô] & emi_IE & [Ô]</IE>[Ô]
Print #1, [Ô] <xNome>[Ô] & emi_xNome & [Ô]</xNome>[Ô]
Print #1, [Ô] <enderEmit>[Ô]
Print #1, [Ô] <xLgr>[Ô] & emi_xLgr & [Ô]</xLgr>[Ô]
Print #1, [Ô] <nro>[Ô] & emi_nro & [Ô]</nro>[Ô]
Print #1, [Ô] <xBairro>[Ô] & emi_xBairro & [Ô]</xBairro>[Ô]
Print #1, [Ô] <cMun>[Ô] & emi_cMun & [Ô]</cMun>[Ô]
Print #1, [Ô] <xMun>[Ô] & emi_xMun & [Ô]</xMun>[Ô]
Print #1, [Ô] <CEP>[Ô] & emi_CEP & [Ô]</CEP>[Ô]
Print #1, [Ô] <UF>[Ô] & emi_UF & [Ô]</UF>[Ô]
Print #1, [Ô] <cPais>[Ô] & emi_cPais & [Ô]</cPais>[Ô]
Print #1, [Ô] <xPais>[Ô] & emi_xPais & [Ô]</xPais>[Ô]
If emi_fone <> [Ô][Ô] Then
Print #1, [Ô] <fone>[Ô] & emi_fone & [Ô]</fone>[Ô]
End If
Print #1, [Ô] </enderEmit>[Ô]
Print #1, [Ô]</emit>[Ô]

e assim por diante.

Abraços.
SAMUKA 18/04/2011 10:47:53
#371676
Citação:

:
voce sabe se tem algum prazo para o estado de sp ??



Também gostaria de saber ....
Tópico encerrado , respostas não são mais permitidas