Serializar Classe em Xml [Delphi XE7]

Delphi

09/12/2014

Boa Tarde

Não estou conseguindo serializar uma classe em Xml no delphi, no Csharp já utilizei e achei bem simples, porém no Delphi não consigo, pois não sei como fazer, estou pesquisando sobre RTTI, mas não encontro nenhum exemplo básico, alguém tem algum exemplo de como fazer esse procedimento?
Lucas Ramos

Lucas Ramos

Curtidas 0

Respostas

Lucas Ramos

Lucas Ramos

09/12/2014

Boa Tarde Até o momento consegui gerar o Xml de uma classe simples, porém se na classe conter um array de outra classe nesse meu método não irá funcionar, estou vendo um jeito de descer um nível, se alguém tiver uma opinião.

function TForm1.SerializarObjetoXml(pObject: TObject): String;
var
      tmpObjeto  : TObject;

      i : Integer;

      ctxRtti  : TRttiContext;
      typeRtti : TRttiType;
      propRtti : TRttiProperty;

      lRetorno : String;
begin
     ctxRtti  := TRttiContext.Create;
     tmpObjeto:= pObject;
     typeRtti := ctxRtti.GetType(tmpObjeto.ClassType);

     lRetorno := String.Empty;

     lRetorno := lRetorno + '<' + tmpObjeto.ClassName + '>';

     for propRtti in typeRtti.GetProperties do
     begin
          lRetorno := lRetorno + '<'+ propRtti.Name +'>' + propRtti.GetValue(tmpObjeto).ToString + '</'+ propRtti.Name +'>';
     end;

     lRetorno := lRetorno + '</' + tmpObjeto.ClassName + '>';

     result := lRetorno;
end;
GOSTEI 0
POSTAR