Delphi - 使用 xtr 将数据集转换为 XML
Delphi - Transform Dataset to XML using xtr
需要根据从 XMLMapper 工具生成的 XTR 从查询数据集中导出 XML。
我有以下内容:
- 带表的 MSSQL 数据库:患者、PatientAllergies(1-n 关系)
- 组件:TFDConnection -> FDQueryPatients、FDQUeryPatientAllergies -> DSPPatients -> CDSPatients -> DSPatients
- 我按照教程使 PatientAllergies 成为 CDSPatients 中的嵌套数据集,以便 1-n 关系能够正确显示。
- 我创建了一个转换文件 xtr 以将 CDSPatients 转换为 XML,一切都正确显示(XTR File) (See picture)
现在我如何使用这个 CDSet 来输出一个 xml 使用这个创建的 xtr 文件?
我研究了很多,所有教程都展示了如何将现有的 XML 文件转换为 Datapacket,或者如何操作 XML 并使用 XMLTransformProvider 应用更新。我不想让 CDSPatients 的提供者指向 XMLTransformProvider,因为我需要它指向从 DB 获取数据的查询。
我需要的正是以下内容所发生的事情,但是以编程方式:当您 select XMLMapper 中的文档并保存文档时,输出是我需要的 XML 文件(见图)
谢谢
原来如此简单:
- 删除 XMLTransformClient
- 将XMLTransformClient.ProviderName分配给datasetprovider DSPPatients(无需通过clientdataset)
- 用XMLMapper生成的XTR文件参数调用函数
memo1.Lines.Text := XMLTransformClient1.GetDataAsXml('ToXml.xtr');
需要根据从 XMLMapper 工具生成的 XTR 从查询数据集中导出 XML。
我有以下内容:
- 带表的 MSSQL 数据库:患者、PatientAllergies(1-n 关系)
- 组件:TFDConnection -> FDQueryPatients、FDQUeryPatientAllergies -> DSPPatients -> CDSPatients -> DSPatients
- 我按照教程使 PatientAllergies 成为 CDSPatients 中的嵌套数据集,以便 1-n 关系能够正确显示。
- 我创建了一个转换文件 xtr 以将 CDSPatients 转换为 XML,一切都正确显示(XTR File) (See picture)
现在我如何使用这个 CDSet 来输出一个 xml 使用这个创建的 xtr 文件?
我研究了很多,所有教程都展示了如何将现有的 XML 文件转换为 Datapacket,或者如何操作 XML 并使用 XMLTransformProvider 应用更新。我不想让 CDSPatients 的提供者指向 XMLTransformProvider,因为我需要它指向从 DB 获取数据的查询。
我需要的正是以下内容所发生的事情,但是以编程方式:当您 select XMLMapper 中的文档并保存文档时,输出是我需要的 XML 文件(见图)
谢谢
原来如此简单:
- 删除 XMLTransformClient
- 将XMLTransformClient.ProviderName分配给datasetprovider DSPPatients(无需通过clientdataset)
- 用XMLMapper生成的XTR文件参数调用函数
memo1.Lines.Text := XMLTransformClient1.GetDataAsXml('ToXml.xtr');