Delphi - 使用xtr将数据集转换为XML

时间:2017-06-28 09:40:11

标签: xml delphi dataset delphi-10.1-berlin

需要根据XMLMapper工具生成的XTR从Query Dataset导出XML。

我有以下内容:

  • 带有表格的MSSQL数据库:患者,患者过敏症(1-n关系)
  • 组件:TFDConnection - > FDQueryPatients,FDQUeryPatientAllergies - > DSPPatients - > CDSPatients - > DSPatients
  • 我遵循了一个教程,使PatientAllergies成为CDSPatients中的嵌套数据集,以便正确显示1-n关系。
  • 我创建了一个转换文件xtr,将CDSPatients转换为XML,一切都正确显示(XTR File)(见图片)XMLMapper

现在我如何使用此CDSet使用此xtr文件创建输出xml? 我研究了很多,所有教程都展示了如何将现有的XML文件转换为Datapacket,或者如何使用XMLTransformProvider操作XML和应用更新。我不希望CDSPatients的提供者指向XMLTransformProvider,因为我需要它指向从DB获取数据的Query。 我需要的是下面的内容,但是以编程方式:当您在XMLMapper中选择Document并保存文档时,输出是我需要的XML文件(参见图片) enter image description here

由于

1 个答案:

答案 0 :(得分:0)

事实证明这很简单:

  • 删除XMLTransformClient
  • 将XMLTransformClient.ProviderName分配给datasetprovider DSPPatients(无需通过clientdataset)
  • 使用XMLMapper生成的参数XTR文件调用该函数 memo1.Lines.Text := XMLTransformClient1.GetDataAsXml('ToXml.xtr');