GERAR XML USANDO PRINT #1
Boa noite amigos não queria mexer com isso mais estou sendo forçado a fazer
Pelo que vi to bem no inicio mais vamos La...
Estou gerando o XML conforme exemplo abaixo:
Print #1, [Ô]<?xml version=[Ô] & Chr(34) & [Ô]1.0[Ô] & Chr(34) & [Ô]?>[Ô]
Print #1, [Ô]<ide>[Ô]
Print #1, [Ô]<Nome>[Ô] & txtNome.Text & [Ô]</Nome>[Ô]
Print #1, [Ô]<End> [Ô] & txtEnde1.Text & [Ô]</End>[Ô]
Print #1, [Ô]</ide>[Ô] [ô]< -------- Até aqui ele fica normal,
[ô]====== Gera XML Emitente ==========
Print #1, [Ô]<emit>[Ô] [ô]<-------- Opôs acrescentar as essas linhas do erro?
Print #1, [Ô] <Nfe>[Ô] & txtPedidoID & [Ô]</Nfe>[Ô]
Print #1, [Ô]</emit>[Ô]
Será que já estou começando tudo errado
Grato
Nilton
Pelo que vi to bem no inicio mais vamos La...
Estou gerando o XML conforme exemplo abaixo:
Print #1, [Ô]<?xml version=[Ô] & Chr(34) & [Ô]1.0[Ô] & Chr(34) & [Ô]?>[Ô]
Print #1, [Ô]<ide>[Ô]
Print #1, [Ô]<Nome>[Ô] & txtNome.Text & [Ô]</Nome>[Ô]
Print #1, [Ô]<End> [Ô] & txtEnde1.Text & [Ô]</End>[Ô]
Print #1, [Ô]</ide>[Ô] [ô]< -------- Até aqui ele fica normal,
[ô]====== Gera XML Emitente ==========
Print #1, [Ô]<emit>[Ô] [ô]<-------- Opôs acrescentar as essas linhas do erro?
Print #1, [Ô] <Nfe>[Ô] & txtPedidoID & [Ô]</Nfe>[Ô]
Print #1, [Ô]</emit>[Ô]
Será que já estou começando tudo errado
Grato
Nilton
sugiro q faça isso aki....e um exemplo
AlimentaXML [Ô]<ans:identificador>[Ô], False
AlimentaXML [Ô]<ans:registroANS>[Ô], True, IIf(IsNull(TblParametros!RegistroANS), 0, TblParametros!RegistroANS)
AlimentaXML [Ô]<ans:razaoSocial>[Ô], True, Trim(TblParametrosPrincipal!Razao)
AlimentaXML [Ô]<ans:CNPJ>[Ô], True, Trim(ApenasNumeros(TblParametrosPrincipal!CGC))
AlimentaXML [Ô]<ans:periodo>[Ô], True, Trim(Mid(PeriodoInicial, 1, 4) & [Ô]-[Ô] & Right(PeriodoInicial, 2) & [Ô]-01[Ô])
AlimentaXML [Ô]<ans:transacao>[Ô], True, [Ô]ENVIO_DIOPS_FINANCEIRO[Ô]
AlimentaXML [Ô]<ans:hashPwd>[Ô], True, md5Test.MD5_string([Ô]A58402[Ô]) [ô] SENHA SITE
AlimentaXML [Ô]<ans:apTrans>[Ô], True, [Ô]AR33[Ô]
AlimentaXML [Ô]</ans:identificador>[Ô], False
Private Sub AlimentaXML(ByVal Campo As String, ByVal PassaValor As Boolean, Optional Valor As String)
On Error GoTo Erro
Arquivo.Write Campo
If PassaValor Then Arquivo.Write Valor & [Ô]</[Ô] & Mid(Campo, 2)
If PassaValor And UCase(Campo) <> [Ô]<ANS:HASH>[Ô] Then
ValorHash = ValorHash & Trim(Valor)
ElseIf Campo <> [Ô]</ans:lancamento>[Ô] And Campo <> [Ô]<ans:lancamento>[Ô] Then
End If
Arquivo.WriteLine
Exit Sub
Erro:
TratarErro [Ô]FrmDiops[Ô], [Ô]AlimentaXML[Ô], Err.Number, Err.Description, Erl
End Sub
AlimentaXML [Ô]<ans:identificador>[Ô], False
AlimentaXML [Ô]<ans:registroANS>[Ô], True, IIf(IsNull(TblParametros!RegistroANS), 0, TblParametros!RegistroANS)
AlimentaXML [Ô]<ans:razaoSocial>[Ô], True, Trim(TblParametrosPrincipal!Razao)
AlimentaXML [Ô]<ans:CNPJ>[Ô], True, Trim(ApenasNumeros(TblParametrosPrincipal!CGC))
AlimentaXML [Ô]<ans:periodo>[Ô], True, Trim(Mid(PeriodoInicial, 1, 4) & [Ô]-[Ô] & Right(PeriodoInicial, 2) & [Ô]-01[Ô])
AlimentaXML [Ô]<ans:transacao>[Ô], True, [Ô]ENVIO_DIOPS_FINANCEIRO[Ô]
AlimentaXML [Ô]<ans:hashPwd>[Ô], True, md5Test.MD5_string([Ô]A58402[Ô]) [ô] SENHA SITE
AlimentaXML [Ô]<ans:apTrans>[Ô], True, [Ô]AR33[Ô]
AlimentaXML [Ô]</ans:identificador>[Ô], False
Private Sub AlimentaXML(ByVal Campo As String, ByVal PassaValor As Boolean, Optional Valor As String)
On Error GoTo Erro
Arquivo.Write Campo
If PassaValor Then Arquivo.Write Valor & [Ô]</[Ô] & Mid(Campo, 2)
If PassaValor And UCase(Campo) <> [Ô]<ANS:HASH>[Ô] Then
ValorHash = ValorHash & Trim(Valor)
ElseIf Campo <> [Ô]</ans:lancamento>[Ô] And Campo <> [Ô]<ans:lancamento>[Ô] Then
End If
Arquivo.WriteLine
Exit Sub
Erro:
TratarErro [Ô]FrmDiops[Ô], [Ô]AlimentaXML[Ô], Err.Number, Err.Description, Erl
End Sub
Amigo, essa maneira que você está querendo usar é uma péssima alternativa. Funciona, mas é realmente muito mais difÃcil de ser controlada, a chance de ter erros no XML é enorme e ainda por cima a correção desses erros é bem mais difÃcil, já que é difÃcil achar onde está o problema. Sugiro usar o DOM para isso, é a solução mais apropriada. Sei que dessa maneira é a que você já está acostumado, parece ser mais simples, mas acredite, conforme a complexidade da coisa vai aumentando, as dores de cabeça e noites de sono perdida vão aumentando junto...
Tem exemplo deste no VBMania ??
Se ver o link que te passei, vai ver que tem exemplos lá. Leia o texto e veja que existe os links dentro do texto com os códigos de exemplo...
Ninguém tem nem uma pista pra mim...
Nilton....Segue um exemplo de como montar o XML da NFE....
Montei a estrutura principal dai é só voce ver o XML da NFE a adicionando os NÓS no XML...
eu criei o IDE, DEST, DET ITEM, TOTAL, COBR e InfoAdic..
para adicionar os nós filhos veja como eu fiz no IDE que funciona no exemplo pra o DEST, DET ITEM, TOTAL...
Montei a estrutura principal dai é só voce ver o XML da NFE a adicionando os NÓS no XML...
eu criei o IDE, DEST, DET ITEM, TOTAL, COBR e InfoAdic..
para adicionar os nós filhos veja como eu fiz no IDE que funciona no exemplo pra o DEST, DET ITEM, TOTAL...
Tópico encerrado , respostas não são mais permitidas