xml - 将 Delphi 对象树序列化为 XML 的好方法是什么——使用 RTTI 而不是自定义代码?

标签 xml delphi serialization xml-serialization rtti

将 Delphi 对象树序列化为 XML 的好方法是什么——使用 RTTI 而不是自定义代码?

我很想发现此功能已经内置到 Delphi 中,但似乎并没有。

我发现了一些似乎可以执行此功能的组件(已在下方发布)。您使用过其中任何一个或其他产品吗?你自己建的吗?我在 Delphi 中遗漏了什么明显的东西吗?

最佳答案

您可以使用 JVCL TJvAppXMLFileStorage 组件来序列化 TPersistent 派生类。

uses
  JvAppXMLStorage;

var
  Storage: TJvAppXMLFileStorage;
begin
  Storage := TJvAppXMLFileStorage.Create(nil);
  try
    Storage.WritePersistent('', MyObject);
    Storage.Xml.SaveToFile('S:\TestFiles\Test.xml');

    Storage.Xml.LoadFromFile('S:\TestFiles\Test.xml');
    Storage.ReadPersistent('', MyObject);
  finally
    Storage.Free;
  end;
end;

关于xml - 将 Delphi 对象树序列化为 XML 的好方法是什么——使用 RTTI 而不是自定义代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/368913/

相关文章:

Java序列化包含许多空节点的N叉树

java - 比 javax.xml.xpath 更快的 api 来解析 xml 的值?

java - 在相等标签处解析 xml 时出现 NullPointerException

PHP XPATH 评估

html - delphi html解码

android - 如何序列化自定义 arraylist 对象并将其保存到 sqlite 数据库?

c# - 使用流通过 Json.NET 创建 BSON 字节数组(文件格式)

java - 使用 Java 将 HTML 符号和 HTML 名称转换为 HTML 数字

oracle - 没有安装 Oracle 客户端的 Delphi FireDac + Oracle

delphi - 在 Delphi 中按值和按引用调用相同的函数