求助:DATAWINDOW分组后的导出XML

sjlion 2011-12-29 10:43:09
表名:test 共两列,列名为 a,b
A B
----- ------
x 10
x 5
y 20
y 25
x 1
z 17

数据窗口:
sql:
select * from test
数据窗口内分组条件:列A
并有一计算域: sum( B for group 1)

现在想设计一模板,导出生成XML文件如下:
<?xml version="1.0" encoding="UTF-16LE" standalone="no" ?>
- <test>
<group_test>
元素1 = x (分组列)
元素2 = 16(分组计算域的引用值)
</group_test>
<group_test>
元素1 = y (分组列)
元素2 = 45(分组计算域的引用值)
</group_test>
<group_test>
元素1 = z (分组列)
元素2 = 17(分组计算域的引用值)
</group_test>
</test>

不知有哪位仁兄可以告诉我,用模板怎么达到这个效果,或者是用模板做不到这样?仅指开发环境下定制的模板哦,写代码用PBDOM,或者改写SQL,都不算答案,多谢。
...全文
144 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjlion 2012-02-21
  • 打赏
  • 举报
回复
对了,XUAM和我心飞翔,虽然你们没回答我的问题,不过好歹关注过问题了,分就给你们吧,恭喜发财
sjlion 2012-02-21
  • 打赏
  • 举报
回复
时过境迁啊,回头看自己那个方法很烂,当然,这主要怪SYBASE,相关资料太少了。其实在DW导出XML时体现出分组及进行分组计算很简单,那就是你真的要分组!哈哈!分组后,在XML模板中选定元素,startdetail,再选定分组元素,starts group header即可。没人关注哦,PB真是门可罗雀喽,结贴吧。
sjlion 2012-01-13
  • 打赏
  • 举报
回复
哈哈,如果你有实际的项目需要,做一次就明白了。或者从头儿看我的描述也行,我自信我的表达能力也不算差,主要结合例子看。
woodcord 2012-01-11
  • 打赏
  • 举报
回复
不明白
sjlion 2011-12-29
  • 打赏
  • 举报
回复
我说的就是saveas啊,可是saveas 的时候也要模板啊,如果不指定的话,saveas用的是PB自动生成的默认模板,那就更差了十万八千里了。
xuam 2011-12-29
  • 打赏
  • 举报
回复
直接saveas xml格式不行? 一定要用xml模板?
sjlion 2011-12-29
  • 打赏
  • 举报
回复
自己顶!哪怕有谁说:用模板不行,你乖乖写代码吧! 那也行啊。没有结果的问题,是最悲催的!
sjlion 2011-12-29
  • 打赏
  • 举报
回复
自己搞定。研究了下,基本确定,利用模板,直接导出我要求那样格式的XML是不可能的,但是可以变通下完成。之所以是不可能的,是因为导出时,必须要指定一个元素start detail,这样的话导出的才会是整个datawindow,否则就只能导出第一行。既然只需要group值,可以在模板中只设定需要导出的元素和对象引用(注意,此时不可以用表达式,如果要用表达式,可以创建一计算域后引用)。在所有需要导出的元素增加完之后,再增加一元素,可以任意命名,而且不引用任何dataobjejct中的的对象,但是需要把它设为start detatil,做为占位符,导出后再读取xml文件,将这个占位符替换掉即可。

举问题中的例子,增加了一个元素space为占位符,导出后的xml文件为:
<?xml version="1.0" encoding="UTF-16LE" standalone="no" ?>
- <test>
<group_test>
元素1 = x (分组列)
元素2 = 16(分组计算域的引用值)
<space/> --占位符个数与分组中行数一致
<space/>
<space/>
</group_test>
<group_test>
元素1 = y (分组列)
元素2 = 45(分组计算域的引用值)
<space/>
<space/>
</group_test>
<group_test>
元素1 = z (分组列)
元素2 = 17(分组计算域的引用值)
<space/>
</group_test>
</test>

得到该xml文件,将占位符替换后,即可得到需要的结果。

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧