[delphi-br] Gerar XML de TClientDataSet com Detail

2008-11-27 Por tôpico Reginaldo Donizete Felix
Tenho um TClienteDataSet chamado cdsPAI gerado dinamicamente e este possui
seu DataSource dsrPAI,

e este tem seus registros detalhes de um outro TClienteDataSet denominado
cdsfilho, e neste filho coloquei a propriedade MasterSource para o dsrPai.

No codigo coloquei o seguinte codigo :

cdsPai.CreateDataSet ;
cdsPai.Open;
cdsPai.Insert;
cdsPai.FieldByName('CodCidade').AsString := '01' ;
cdsPai.FieldByName('NomeCidade').AsString := 'SAO PAULO' ;
cdsPai.Post ;

cdsFilho.CreateDataSet ;
cdsFilho.Open;
cdsFilho.Insert;
cdsFilho.FieldByName('CodCidade').AsString := '01' ;
cdsFilho.FieldByName('CodRua').AsString := '01' ;
cdsFilho.FieldByName('NomeRua').AsString := 'RUA FULANA DE TAL' ;
cdsFilho.Post ;

CdsPai.SaveToFile('CDS_CIDADE.xml');

---

No Xml do pai ele so gera dele proprio as tags XML e nao gera do filho
como faço para fazer ele gerar do filho

O XML QUE GEROU FOI O SEGUINTE
?xml version=1.0 standalone=yes?  DATAPACKET
Version=2.0METADATAFIELDSFIELD attrname=CodCidade
fieldtype=string WIDTH=20/FIELD attrname=NomeCidade
fieldtype=string WIDTH=20//FIELDSPARAMS CHANGE_LOG=1 0
4//METADATAROWDATAROW RowState=4 CodCidade=01 NomeCidade=SAO
PAULO//ROWDATA/DATAPACKET

COMO FAÇO PARA GERAR JUNO NO XML O FILHO TAMBEM ???

DESDE JA
OBRIGADO

-- 
Reginaldo D. Felix
[EMAIL PROTECTED]


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Gerar XML de TClientDataSet com Detail

2008-11-27 Por tôpico Guionardo Furlan
Acho que não vai funcionar desse jeito, pelo que entendo do CDS.
Mas vc poderia criar outro CDS, com todos os campos do pai e do filho
e com dois loops aninhados preencher com os dados desejados.
Depois, teria um XML só.
Mas é POG!!!

2008/11/27 Reginaldo Donizete Felix [EMAIL PROTECTED]:
 Tenho um TClienteDataSet chamado cdsPAI gerado dinamicamente e este possui
 seu DataSource dsrPAI,

 e este tem seus registros detalhes de um outro TClienteDataSet denominado
 cdsfilho, e neste filho coloquei a propriedade MasterSource para o dsrPai.

 No codigo coloquei o seguinte codigo :

 cdsPai.CreateDataSet ;
 cdsPai.Open;
 cdsPai.Insert;
 cdsPai.FieldByName('CodCidade').AsString := '01' ;
 cdsPai.FieldByName('NomeCidade').AsString := 'SAO PAULO' ;
 cdsPai.Post ;

 cdsFilho.CreateDataSet ;
 cdsFilho.Open;
 cdsFilho.Insert;
 cdsFilho.FieldByName('CodCidade').AsString := '01' ;
 cdsFilho.FieldByName('CodRua').AsString := '01' ;
 cdsFilho.FieldByName('NomeRua').AsString := 'RUA FULANA DE TAL' ;
 cdsFilho.Post ;

 CdsPai.SaveToFile('CDS_CIDADE.xml');

 ---

 No Xml do pai ele so gera dele proprio as tags XML e nao gera do filho
 como faço para fazer ele gerar do filho

 O XML QUE GEROU FOI O SEGUINTE
 ?xml version=1.0 standalone=yes? DATAPACKET
 Version=2.0METADATAFIELDSFIELD attrname=CodCidade
 fieldtype=string WIDTH=20/FIELD attrname=NomeCidade
 fieldtype=string WIDTH=20//FIELDSPARAMS CHANGE_LOG=1 0
 4//METADATAROWDATAROW RowState=4 CodCidade=01 NomeCidade=SAO
 PAULO//ROWDATA/DATAPACKET

 COMO FAÇO PARA GERAR JUNO NO XML O FILHO TAMBEM ???


-- 
Timeo hominem unius libri
Cogito ergo sum - Carpe diem

[]s
Guionardo Furlan
http://guionardo.blogspot.com


Re: [delphi-br] Gerar XML de TClientDataSet com Detail

2008-11-27 Por tôpico Reginaldo Donizete Felix
Desta forma nao vou ter as tags xml formatadas certinhas
e preciso seguir um padrao xml .
os ClientDataSet tem que ser criados dinamicamente tambem.



2008/11/27 Guionardo Furlan [EMAIL PROTECTED]

   Acho que não vai funcionar desse jeito, pelo que entendo do CDS.
 Mas vc poderia criar outro CDS, com todos os campos do pai e do filho
 e com dois loops aninhados preencher com os dados desejados.
 Depois, teria um XML só.
 Mas é POG!!!

 2008/11/27 Reginaldo Donizete Felix [EMAIL 
 PROTECTED]regifelix%40gmail.com:


  Tenho um TClienteDataSet chamado cdsPAI gerado dinamicamente e este
 possui
  seu DataSource dsrPAI,
 
  e este tem seus registros detalhes de um outro TClienteDataSet denominado
  cdsfilho, e neste filho coloquei a propriedade MasterSource para o
 dsrPai.
 
  No codigo coloquei o seguinte codigo :
 
  cdsPai.CreateDataSet ;
  cdsPai.Open;
  cdsPai.Insert;
  cdsPai.FieldByName('CodCidade').AsString := '01' ;
  cdsPai.FieldByName('NomeCidade').AsString := 'SAO PAULO' ;
  cdsPai.Post ;
 
  cdsFilho.CreateDataSet ;
  cdsFilho.Open;
  cdsFilho.Insert;
  cdsFilho.FieldByName('CodCidade').AsString := '01' ;
  cdsFilho.FieldByName('CodRua').AsString := '01' ;
  cdsFilho.FieldByName('NomeRua').AsString := 'RUA FULANA DE TAL' ;
  cdsFilho.Post ;
 
  CdsPai.SaveToFile('CDS_CIDADE.xml');
 
  ---
 
  No Xml do pai ele so gera dele proprio as tags XML e nao gera do filho
  como faço para fazer ele gerar do filho
 
  O XML QUE GEROU FOI O SEGUINTE
  ?xml version=1.0 standalone=yes? DATAPACKET
  Version=2.0METADATAFIELDSFIELD attrname=CodCidade
  fieldtype=string WIDTH=20/FIELD attrname=NomeCidade
  fieldtype=string WIDTH=20//FIELDSPARAMS CHANGE_LOG=1 0
  4//METADATAROWDATAROW RowState=4 CodCidade=01 NomeCidade=SAO
  PAULO//ROWDATA/DATAPACKET
 
  COMO FAÇO PARA GERAR JUNO NO XML O FILHO TAMBEM ???
 

 --
 Timeo hominem unius libri
 Cogito ergo sum - Carpe diem

 []s
 Guionardo Furlan
 http://guionardo.blogspot.com

 




-- 
Reginaldo D. Felix
[EMAIL PROTECTED]


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Gerar XML de TClientDataSet com Detail

2008-11-27 Por tôpico Guionardo Furlan
Deixa eu ver se entendi direito: vc precisa que dentro das tags que
representam as linhas do cds pai, existam outras tags representando as
linhas do cds filho?

Ou estou muito enganado, ou o CDS não tem essa funcionalidade.

Então, eu sugiro que vc use um TXMLDocument ou outro similar (na JCL
tem) e monte na unha da mesma forma que exemplifiquei no email
anterior.

2008/11/27 Reginaldo Donizete Felix [EMAIL PROTECTED]:
 Desta forma nao vou ter as tags xml formatadas certinhas
 e preciso seguir um padrao xml .
 os ClientDataSet tem que ser criados dinamicamente tambem.

 2008/11/27 Guionardo Furlan [EMAIL PROTECTED]

 Acho que não vai funcionar desse jeito, pelo que entendo do CDS.
 Mas vc poderia criar outro CDS, com todos os campos do pai e do filho
 e com dois loops aninhados preencher com os dados desejados.
 Depois, teria um XML só.
 Mas é POG!!!

 2008/11/27 Reginaldo Donizete Felix
 [EMAIL PROTECTED]regifelix%40gmail.com:


  Tenho um TClienteDataSet chamado cdsPAI gerado dinamicamente e este
 possui
  seu DataSource dsrPAI,
 
  e este tem seus registros detalhes de um outro TClienteDataSet
  denominado
  cdsfilho, e neste filho coloquei a propriedade MasterSource para o
 dsrPai.
 
  No codigo coloquei o seguinte codigo :
 
  cdsPai.CreateDataSet ;
  cdsPai.Open;
  cdsPai.Insert;
  cdsPai.FieldByName('CodCidade').AsString := '01' ;
  cdsPai.FieldByName('NomeCidade').AsString := 'SAO PAULO' ;
  cdsPai.Post ;
 
  cdsFilho.CreateDataSet ;
  cdsFilho.Open;
  cdsFilho.Insert;
  cdsFilho.FieldByName('CodCidade').AsString := '01' ;
  cdsFilho.FieldByName('CodRua').AsString := '01' ;
  cdsFilho.FieldByName('NomeRua').AsString := 'RUA FULANA DE TAL' ;
  cdsFilho.Post ;
 
  CdsPai.SaveToFile('CDS_CIDADE.xml');
 
  ---
 
  No Xml do pai ele so gera dele proprio as tags XML e nao gera do filho
  como faço para fazer ele gerar do filho
 
  O XML QUE GEROU FOI O SEGUINTE
  ?xml version=1.0 standalone=yes? DATAPACKET
  Version=2.0METADATAFIELDSFIELD attrname=CodCidade
  fieldtype=string WIDTH=20/FIELD attrname=NomeCidade
  fieldtype=string WIDTH=20//FIELDSPARAMS CHANGE_LOG=1 0
  4//METADATAROWDATAROW RowState=4 CodCidade=01 NomeCidade=SAO
  PAULO//ROWDATA/DATAPACKET
 
  COMO FAÇO PARA GERAR JUNO NO XML O FILHO TAMBEM ???
 

 --
 Timeo hominem unius libri
 Cogito ergo sum - Carpe diem

 []s
 Guionardo Furlan
 http://guionardo.blogspot.com




 --
 Reginaldo D. Felix
 [EMAIL PROTECTED]

 [As partes desta mensagem que não continham texto foram removidas]

 



-- 
Timeo hominem unius libri
Cogito ergo sum - Carpe diem

[]s
Guionardo Furlan
http://guionardo.blogspot.com