请大神指点.pb导入xml的问题 关于列的顺序问题

godshome 2014-06-29 10:03:04
因为我的xml数据是通过泛型转xml生成的.如user类生成如下:
<user>
<username>xx</username>
<age>12</age>
....
</user>
因为xml是由代码自动转换类成xml生成的,所以,<username>与<age>结点的先后就不确定了.

而pb里面假设我有一个datawindow 是用来接收数据的.xml如上;
这样一来,如果接收到的xml是
<user>
<age>12</age>
<username>xx</username>
....
</user>
那就会出现绑定错误,或者age出现在第一行,username出现在第二行?
有什么方法可以忽略xml结点顺序来绑定嘛?
...全文
290 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
godshome 2014-07-22
  • 打赏
  • 举报
回复
引用 7 楼 sjlion 的回复:
把freeform的数据直接加到grid里?什么意思?
我把freeform做为填加数据的表格,gridview做为存储的表格.....每Add一次,freeform都会Add到gridview 已经找到方法了.谢谢!
godshome 2014-07-01
  • 打赏
  • 举报
回复
我想你误会我的意思了,你说的这个我知道是什么情况.而且我帖子已经说了结点顺序不一至有些数据会被直接跳过的. 我是想编辑模板,但模板的结点如何调整,无从下手. 另外,再问一个问题,怎么把freeform的数据直接加到grid里?
引用 5 楼 sjlion 的回复:
我不知道你是怎么试的,我以前用过,刚才又试了下,PB会自动识别节点名称的,但是对于和原先列顺序不一样的XML不能完美导入,行会发生错位,错开后有空的单元格,但是列是对的,单独列里数据的顺序也没有问题。 比如 完美导入后应该是 1 2 3 11 22 33 但是不完美导入后,可能是这个样子 3 1 2 33 11 22 你完全可以直接导入,导入以后,循环取每列整列的值,去掉空值,再重新赋值给对应的列就可以了。也就三五条语句的事情。 记住,导入后先不能排序,分组等等,否则顺序会乱掉的。等所有的列重新赋过值之后才可以进行其他的操作。 PS:我怀疑你导入报错是因为没有指定 导入模板吧?你要在数据窗口对象的data import里或代码里指定导入模板名,不要用默认的那个未命名的空值。还有,其实模板里的节点顺序也是可以调整的,你自己多动手试下吧,单击节点,右键,模板里边还可以设定分组,组内合计等等。一两句话说不清楚,你自己多试吧
sjlion 2014-07-01
  • 打赏
  • 举报
回复
把freeform的数据直接加到grid里?什么意思?
A啦Dbit 2014-06-30
  • 打赏
  • 举报
回复
右键数据窗口对象,edit source 最方便
引用 2 楼 godshome 的回复:
[quote=引用 1 楼 xiajinxian 的回复:] 数据窗口的xml模板是这样的 所以要么要求你的源数据要顺序固定,要么自已写代码解析XML (可以用pbdom或msxml)
因为是新手,所以pbdom和msxml都不熟....再努力学习. 另外:DataWindow 中Export/Import Template中的结点怎么调整顺序?我怎么调整不了?[/quote]
sjlion 2014-06-30
  • 打赏
  • 举报
回复
我不知道你是怎么试的,我以前用过,刚才又试了下,PB会自动识别节点名称的,但是对于和原先列顺序不一样的XML不能完美导入,行会发生错位,错开后有空的单元格,但是列是对的,单独列里数据的顺序也没有问题。 比如 完美导入后应该是 1 2 3 11 22 33 但是不完美导入后,可能是这个样子 3 1 2 33 11 22 你完全可以直接导入,导入以后,循环取每列整列的值,去掉空值,再重新赋值给对应的列就可以了。也就三五条语句的事情。 记住,导入后先不能排序,分组等等,否则顺序会乱掉的。等所有的列重新赋过值之后才可以进行其他的操作。 PS:我怀疑你导入报错是因为没有指定 导入模板吧?你要在数据窗口对象的data import里或代码里指定导入模板名,不要用默认的那个未命名的空值。还有,其实模板里的节点顺序也是可以调整的,你自己多动手试下吧,单击节点,右键,模板里边还可以设定分组,组内合计等等。一两句话说不清楚,你自己多试吧
godshome 2014-06-30
  • 打赏
  • 举报
回复
引用 3 楼 xiajinxian 的回复:
右键数据窗口对象,edit source 最方便 [quote=引用 2 楼 godshome 的回复:] [quote=引用 1 楼 xiajinxian 的回复:] 数据窗口的xml模板是这样的 所以要么要求你的源数据要顺序固定,要么自已写代码解析XML (可以用pbdom或msxml)
因为是新手,所以pbdom和msxml都不熟....再努力学习. 另外:DataWindow 中Export/Import Template中的结点怎么调整顺序?我怎么调整不了?[/quote][/quote] edit source只能修改export的xml,主要是想修改import的xml
godshome 2014-06-29
  • 打赏
  • 举报
回复
引用 1 楼 xiajinxian 的回复:
数据窗口的xml模板是这样的 所以要么要求你的源数据要顺序固定,要么自已写代码解析XML (可以用pbdom或msxml)
因为是新手,所以pbdom和msxml都不熟....再努力学习. 另外:DataWindow 中Export/Import Template中的结点怎么调整顺序?我怎么调整不了?
A啦Dbit 2014-06-29
  • 打赏
  • 举报
回复
数据窗口的xml模板是这样的 所以要么要求你的源数据要顺序固定,要么自已写代码解析XML (可以用pbdom或msxml)

609

社区成员

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

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