powerbuilder(pb)中 xml的应用一例
powerbuilder中的数据窗口真是好的不得了,工作基本上都是围绕它做,很高效,这几天项目上需要用导出xml文件,就用pb9(xml导出导入功能是从powerbuilder9.0增加的功能)做了一个demo以验证可行性 在PowerBuilder(PB)开发中,XML(可扩展标记语言)的应用越来越广泛,尤其是在数据交换、存储和配置文件等方面。本示例主要介绍如何在PB9中利用数据窗口(Data Window)功能导出XML文件。 XML是一种自描述、结构化的数据格式,常用于在不同的应用程序之间传递数据。在PB9中,XML导出和导入功能得以增强,使得开发者能够更方便地处理XML数据。在给定的示例中,项目需求是导出销售订单和订单明细到XML文件,这可以通过定义数据窗口的XML模板来实现。 XML文件的结构对数据的组织至关重要。原始示例中的XML结构如下: ```xml <trans> <transdetail> <order><date/></order> <orderdetail><product/></orderdetail> <orderdetail><product/></orderdetail> </transdetail> <transdetail> <order><date/></order> <orderdetail><product/></orderdetail> <orderdetail><product/></orderdetail> </transdetail> </trans> ``` 这种结构可能不太理想,因为`transdetail`节点可能不是必要的,而`orderdetail`应该作为`order`节点的子节点。优化后的结构如下: ```xml <trans> <order> <date/> <detail> <orderdetail><product/></orderdetail> <orderdetail><product/></orderdetail> </detail> </order> <order> <date/> <detail> <orderdetail><product/></orderdetail> <orderdetail><product/></orderdetail> </detail> </order> </trans> ``` 在PB9中,处理这个任务只需要三行代码,其中关键的一行是`dw_export.save("c:\test.xml", xml!, false)`,这会将数据窗口`dw_export`的内容保存为XML文件。 实现这个功能的关键在于创建和配置数据窗口的XML模板。创建一个数据窗口`d_order`来表示订单头信息,并在SQL中使用GROUP BY语句避免重复数据。然后,在Export/Import Template XML(EITX)中保存模板,并设置`data export`的`use template`属性为保存的模板名称。 在XML模板中,`__pbband="detail"`表示开始明细数据的循环,而`starts detail`选项确保数据的正确嵌套。接着,通过在`transdetail`节点上添加`datawindow control reference`,引入另一个数据窗口`dw_detail`,用于表示订单明细。 `dw_detail`是`d_order`中的一个报表,它本身也是一个数据窗口,用于处理订单明细数据。同样地,也需要为`dw_detail`定义XML模板,确保`orderdetail`节点被正确地添加到`order`节点下。 总结起来,PowerBuilder的XML功能允许开发者通过数据窗口轻松地导出结构化的数据到XML文件。在PB9中,通过定义XML模板和使用数据窗口的嵌套,可以构建符合业务需求的复杂数据结构。这个示例展示了如何利用这些特性处理销售订单数据,为其他类似的需求提供了参考。
- 粉丝: 2
- 资源: 1001
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助