Re: [delphi-br] Gerar XML de TClientDataSet com Detail
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
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
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