OmniXML能否反序列化包含对象列表的对象?
例如,如何序列化如下对象:OmniXML能否反序列化包含对象列表的对象?,xml,delphi,delphi-xe2,pascal,omnixml,Xml,Delphi,Delphi Xe2,Pascal,Omnixml,例如,如何序列化如下对象: unit u_Configuration; interface uses Classes, Generics.Collections, OmniXML, OmniXMLPersistent ; type TMyObject = class (TPersistent) strict private fName : String; public published property Name:
unit u_Configuration;
interface
uses
Classes,
Generics.Collections,
OmniXML,
OmniXMLPersistent
;
type
TMyObject = class (TPersistent)
strict private
fName : String;
public
published
property Name: String read fName write fName;
end;
TConfiguration = class(TPersistent)
strict private
fTheList : TList<TMyObject>;
private
public
published
property TheList: TList<TMyObject> read fTheList write fTheList;
end;
implementation
end.
单元u\u配置;
接口
使用
班级,
非专利药,收藏,
OmniXML,
全方位持久性
;
类型
TMyObject=类(TPersistent)
严格保密
fName:字符串;
公众的
出版
属性名称:字符串读取fName写入fName;
结束;
t配置=类别(t持久)
严格保密
fTheList:TList;
私有的
公众的
出版
属性列表:TList read fTheList write fTheList;
结束;
实施
结束。
OmniXML序列化TPersistent的后代。它序列化它们的属性,但对于具有对象类型的属性,只序列化TPersistent的后代。TList是从TEnumerable派生而来的,TEnumerable是从TObject派生而来的,因此它不符合条件。OmniXML为TCollection内置了特殊的处理
您可以手动序列化其他类