使用XSD生成ProDataSet,手动填充,然后使用ProDataSet创建XML

问题描述 投票:0回答:1

我最近发现了 ProDataSet 以及它可以用 XML 做的事情。在较高级别上,我尝试使用第 3 方 XSD 文档通过 READ-XMLSCHEMA 动态创建 ProDataSet,填充该 ProDataSet,然后使用 WRITE-XML 将该数据转储回结构化 XML 文件,使用第一步中导入的关系和属性。如果我所要做的就是将内部数据映射到 ProDataSet 并让它处理 XML 生成,这将节省大量时间。

我遇到的问题是我的实际数据库结构与 XSD 中定义的结构完全不同。表名、字段名、关系等都不同。理论上,使用我的内部数据手动填充 ProDataSet 是相当简单的,但我似乎无法让这个“映射”部分发挥作用,我开始认为我的主要概念是不可能的。

我觉得我已经尝试了一切,但我最新的迭代是使用导入的 ProDataSet 使用 ADD-LIKE-FIELD 动态创建具有完全相同结构的临时表。然后,我可以使用 BUFFER-CREATE 手动创建临时表记录,并将我的内部数据库映射到 ProDataSet 结构。理论上,我可以使用 ADD-SOURCE-BUFFER 和 ATTACH-DATA-SOURCE 定义 ProDataSet 源,但这些关系不会通过 FILL() 延续,并且转储 XML 仅输出父元素,而没有任何子元素记录。我不确定我是否愿意专注于这个解决方案,因为我觉得它还有很长的路要走,但这是迄今为止我最成功的解决方案。

  1. 我是不是找错树了?
  2. 如果没有,有没有人有一个从上到下的例子来做这样的事情?我一直在尝试将各种来源的概念拼凑在一起,但我找不到任何全面的内容。每个示例都在 ProDataSet 模仿您现有的数据库结构(我理解)的前提下工作。
openedge progress-4gl
1个回答
0
投票

我从未尝试过使用

read-xmlschema
作为起点,但手动制作具有关系和少量
serialize-name
属性的数据集应该可行。

也许可以看看如何导出正在进行中的 XML? 作为起点(我意识到这是相反的方式) - 或提供一个有形的片段。

我猜您已经阅读了将 ProDataset 转换为 XML 并返回 - 基本指南

© www.soinside.com 2019 - 2024. All rights reserved.