Fórum Ajuda XML - Ginfes #416691

13/05/2012

0

Oi pessoal.

Preciso de uma pequena ajuda com a criação de XML no delphi (estou começando a mexer agora com isso, por causa do Ginfes):

Já consegui gerar esta parte:


<?xml version=1.0 encoding=utf-8?>
<tns:EnviarLoteRpsEnvio xmlns:tns=http://www.ginfes.com.br/servico_enviar_lote_rps_envio xmlns:ds=http://www.w3.org/2000/09/xmldsig# xmlns:tipos=http://www.ginfes.com.br/tipos xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance Tipos=http://www.ginfes.com.br/tipos>
<tns:NumeroLote>1</tns:NumeroLote>
<tns:Cnpj>00000000000000</tns:Cnpj>
<tns:InscricaoMunicipal>00000</tns:InscricaoMunicipal>
<tns:QuantidadeRps>1</tns:QuantidadeRps>
<tns:ListaRps>
<tns:Rps>

A sequencia do arquivo deve ser:

<tipos:IdentificacaoRps>
<tipos:Numero>500</tipos:Numero>
<tipos:Serie>A</tipos:Serie>
<tipos:Tipo>1</tipos:Tipo>
</tipos:IdentificacaoRps>
<tipos:DataEmissao>2012-05-07T08:11:10</tipos:DataEmissao>

O meu problema é o seguinte:

Como troco o texto do início de cada linha:

<tns:
por
<tipos:

Estudei bastante exemplos na net, mas não consegui entender em que propriedade e/ou evento do XMLDocument devo fazer esta alteração.

Alguém pode me ajudar??

Obrigado
Alexandre Teixeira

Alexandre Teixeira

Responder

Posts

13/05/2012

Marco Salles

Acho que voce pode carregar o arquivo em um Tstringslist e utilizar o stringreplace de depois salvar o arquivo modificao
Responder

Gostei + 0

13/05/2012

Alexandre Teixeira

Acho que voce pode carregar o arquivo em um Tstringslist e utilizar o stringreplace de depois salvar o arquivo modificao


Oi Marco, não entendi.

No meu sistema tem uma tela onde o usuário insere as informações da NFS-e e são gravadas no BD. Após isso eu preciso gerar o arquivo XML e carregar ele no site da Ginfes, mas não sei bem como fazer isso no delphi. Estou com problemas na montagem mesmo deste XML no delphi, como dito acima.
Responder

Gostei + 0

14/05/2012

Marco Salles

Desculpe talves eu que não tenha entendido ...

Mas vc salva em algum lugar do disco este arquivos Xml com a tag errada ???

De posse deste Arquvo físico vc utiliza algum compoenete para envia-lo ???
Responder

Gostei + 0

14/05/2012

Alexandre Teixeira

Desculpe talves eu que não tenha entendido ...

Mas vc salva em algum lugar do disco este arquivos Xml com a tag errada ???

De posse deste Arquvo físico vc utiliza algum compoenete para envia-lo ???


Oi Marco.

Exatamente, eu salvo o XML criado no disco e depois importo ele pelo site do Ginfes.
Mas preciso saber como mudar a tag iniciada com <tns:> para <tipos:>, mas não sei como fazer isso.
Responder

Gostei + 0

14/05/2012

Marco Salles

Desculpe talves eu que não tenha entendido ...

Mas vc salva em algum lugar do disco este arquivos Xml com a tag errada ???

De posse deste Arquvo físico vc utiliza algum compoenete para envia-lo ???


Oi Marco.

Exatamente, eu salvo o XML criado no disco e depois importo ele pelo site do Ginfes.
Mas preciso saber como mudar a tag iniciada com <tns:> para <tipos:>, mas não sei como fazer isso.



Então , de posse deste Arquivo vc utiliza o TStrings .. Tem um métofdo Load ( que carregara este Arquivo )

depois vc utiliza o StringReplace que substiruira

depois vc utiza o SaveToFile que saçvara o Arquivo Modificado

no fim vc ira seguir com o resto do seu procedimento..

Mais ou menos assim ;



var
Lista:TStrings;
begin
Lista:=TStringList.Create;
try
  Lista.LoadFromFile(C:\Ajuda\Teste.xml);
  Lista.Text:=StringReplace(Lista.Text,tns,tipos,[rfReplaceAll]);
  Lista.SaveToFile(C:\Ajuda\NovoTeste.xml);
finally
  Lista.Free;
end;


Não dá certo ?????
Responder

Gostei + 0

15/05/2012

Alexandre Teixeira

Desculpe talves eu que não tenha entendido ...

Mas vc salva em algum lugar do disco este arquivos Xml com a tag errada ???

De posse deste Arquvo físico vc utiliza algum compoenete para envia-lo ???


Oi Marco.

Exatamente, eu salvo o XML criado no disco e depois importo ele pelo site do Ginfes.
Mas preciso saber como mudar a tag iniciada com <tns:> para <tipos:>, mas não sei como fazer isso.



Então , de posse deste Arquivo vc utiliza o TStrings .. Tem um métofdo Load ( que carregara este Arquivo )

depois vc utiliza o StringReplace que substiruira

depois vc utiza o SaveToFile que saçvara o Arquivo Modificado

no fim vc ira seguir com o resto do seu procedimento..

Mais ou menos assim ;



var
Lista:TStrings;
begin
Lista:=TStringList.Create;
try
  Lista.LoadFromFile(C:\Ajuda\Teste.xml);
  Lista.Text:=StringReplace(Lista.Text,tns,tipos,[rfReplaceAll]);
  Lista.SaveToFile(C:\Ajuda\NovoTeste.xml);
finally
  Lista.Free;
end;


Não dá certo ?????


Oi Marco.

Agradeço a ajuda, através de sua idéia resolvi usar um SaveDialog mesmo, com o Filter *.xml e vou montando na unha mesmo. Não é o melhor jeito, mas é funcional, e devido a falta de tempo, serve por enquanto. Obrigado.

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar