新足迹

 找回密码
 注册

精华好帖回顾

· 那些乐趣 – 讲讲我一个车友 (2017-9-13) 想念天空 · 秀秀我种的30多个品种的多年生蔬菜 (2014-2-16) wning
· 笑忘书——亲子关系和爸爸参与教育——完结 (2018-10-29) 小小白虎 · 写一下我的儿子 (2008-3-29) 谢小残
Advertisement
Advertisement
查看: 2842|回复: 48

XML中参数的次序 [复制链接]

发表于 2010-10-14 12:53 |显示全部楼层
此文章由 蓝爸爸 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 蓝爸爸 所有!转贴必须注明作者、出处和本声明,并保持内容完整
哪位老大能否解释一下,XML中如果几个参数出于同一级别,参数的先后次序是否重要?w3c的规范里面是否有相关规定或者描述?有个客户说他们的XML解析程序无法解析,原因是某些参数次序变了,我印象中参数次序无所谓的,需要找到些官方规范来澄清一下。
比如:
<Test>
  <A>a</A>
  <B>b</B>
</Test>

<Test>
  <B>b</B>
  <A>a</A>
</Test>
是否等效?
Advertisement
Advertisement

发表于 2010-10-14 12:55 |显示全部楼层
此文章由 jerryclark 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jerryclark 所有!转贴必须注明作者、出处和本声明,并保持内容完整
要看Schema怎么定义的了

评分

参与人数 1积分 +1 收起 理由
蓝爸爸 + 1 谢谢奉献

查看全部评分

发表于 2010-10-14 13:03 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 蓝爸爸 于 2010-10-14 13:53 发表
哪位老大能否解释一下,XML中如果几个参数出于同一级别,参数的先后次序是否重要?w3c的规范里面是否有相关规定或者描述?有个客户说他们的XML解析程序无法解析,原因是某些参数次序变了,我印象中参数次序无所谓的,需要找到些官 ...


让他解释一下“XML解析程序”, 看他的技术和logic,一般来说跟次序无关的,如果他的logic有问题,次序就很有所谓。

评分

参与人数 1积分 +1 收起 理由
蓝爸爸 + 1 谢谢奉献

查看全部评分

发表于 2010-10-14 13:08 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
不等效

你的两段XML对应不同的XSD

除非用all

[ 本帖最后由 kawara 于 2010-10-14 16:29 编辑 ]

评分

参与人数 1积分 +1 收起 理由
蓝爸爸 + 1 谢谢奉献

查看全部评分

发表于 2010-10-14 13:20 |显示全部楼层
此文章由 蓝爸爸 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 蓝爸爸 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果XML头部压根儿就没指定XSD呢?

发表于 2010-10-14 13:23 |显示全部楼层

回复 5# 的帖子

此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果是纯粹解析这个XML文档,使用名字取值就一样,使用顺序取值就不一样,就像你用datareader[1]取还是用datareader["a"]取一样

评分

参与人数 1积分 +1 收起 理由
蓝爸爸 + 1 感谢分享

查看全部评分

Advertisement
Advertisement

2010年度奖章获得者

发表于 2010-10-14 13:24 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
完全跟次序無關,就算有xsd也跟次序無關。

有些sb吧xml當string來處理, 按字符position查找,那就有關了。
但那時sb的問題。 你沒問題。

评分

参与人数 2积分 +4 收起 理由
蓝爸爸 + 3 老大解决了我的困惑
cdfei + 1 我很赞同

查看全部评分

发表于 2010-10-14 13:25 |显示全部楼层
此文章由 jerryclark 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jerryclark 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 蓝爸爸 于 2010-10-14 13:20 发表
如果XML头部压根儿就没指定XSD呢?
有个客户说他们的XML解析程序无法解析


你的客户肯定是用某个schema在他的程序里面validate xml。

发表于 2010-10-14 13:27 |显示全部楼层
此文章由 蓝爸爸 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 蓝爸爸 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2010-10-14 14:03 发表

让他解释一下“XML解析程序”, 看他的技术和logic,一般来说跟次序无关的,如果他的logic有问题,次序就很有所谓。


估计他的解析程序按固定次序搜索参数,类似‘搜完A然后找B’这样的逻辑。
还没来得及问他详情,他自己又发了个邮件,说他自己在他那边改了解析程序,现在没问题了。

发表于 2010-10-14 13:28 |显示全部楼层

回复 9# 的帖子

此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
恩,他已经间接承认他是SB了。

2010年度奖章获得者

发表于 2010-10-14 13:37 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 蓝爸爸 于 2010-10-14 14:27 发表


估计他的解析程序按固定次序搜索参数,类似‘搜完A然后找B’这样的逻辑。
还没来得及问他详情,他自己又发了个邮件,说他自己在他那边改了解析程序,现在没问题了。 ...


他肯定只是把次序換了一下。

你告訴他,讓他完全重寫他的邏輯,

不然你以後次序改了,他那邊又要掛了。
足迹 Reader is phenomenal. If you never used, you never lived 火速下载
Advertisement
Advertisement

发表于 2010-10-14 13:44 |显示全部楼层
此文章由 bulaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bulaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
怎么会有这样理解XML的人...

发表于 2010-10-14 13:46 |显示全部楼层
此文章由 蓝爸爸 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 蓝爸爸 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 bulaohu 于 2010-10-14 14:44 发表
怎么会有这样理解XML的人...


又换头像了

发表于 2010-10-14 14:14 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
http://www.ibm.com/developerworks/xml/library/x-eleord.html

有些parser很在乎元素的顺序的。

[ 本帖最后由 kawara 于 2010-10-14 16:28 编辑 ]

特殊贡献奖章

发表于 2010-10-14 15:13 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我写的都有次序(paopaobing(14))

发表于 2010-10-14 16:00 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果他们强调rule,应该把xsd跟data source provide共享,让provider在自己那端作validation,然后再送数据。
Advertisement
Advertisement

发表于 2010-10-15 10:37 |显示全部楼层
此文章由 小马识途 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小马识途 所有!转贴必须注明作者、出处和本声明,并保持内容完整
4楼k哥正解,顺序只有用all的时候不重要

2010年度奖章获得者

发表于 2010-10-15 10:48 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
能給我掃一下盲嗎,

在什麼情況下,要validate xml 的次序?

2007 年度奖章获得者

发表于 2010-10-15 10:53 |显示全部楼层
此文章由 coolioo 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coolioo 所有!转贴必须注明作者、出处和本声明,并保持内容完整
同意Ka娃,Element顺序当然重要了。

发表于 2010-10-15 10:56 |显示全部楼层

回复 18# 的帖子

此文章由 小马识途 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小马识途 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果Schema里用的是sequence, 那么顺序必须一致,

如果用all,那么顺序无所谓,但是必须出现,也只能出现一次,就是说minoccurs=maxoccurs=1

2010年度奖章获得者

发表于 2010-10-15 10:56 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 coolioo 于 2010-10-15 11:53 发表
同意Ka娃,Element顺序当然重要了。


在什麼情況下重要?
足迹 Reader is phenomenal. If you never used, you never lived 火速下载
Advertisement
Advertisement

发表于 2010-10-15 10:58 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果name不一样,为什么会重要呢?同请教

2010年度奖章获得者

发表于 2010-10-15 11:02 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 小马识途 于 2010-10-15 11:56 发表
如果Schema里用的是sequence, 那么顺序必须一致,

如果用all,那么顺序无所谓,但是必须出现,也只能出现一次,就是说minoccurs=maxoccurs=1


問的就是schema 裡為什麼要用到次序? 什麼情況下要用到?

否則我只能認為,這個schema 本省就沒有定義好。
足迹 Reader is phenomenal. If you never used, you never lived 火速下载

发表于 2010-10-15 11:06 |显示全部楼层

回复 23# 的帖子

此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果有同名Element,顺序还是很重要的吧

发表于 2010-10-15 11:07 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
<Test>
  <A>a</A>
  <A>b</A>
</Test>

<Test>
  <A>b</A>
  <A>a</A>
</Test>
应该不等效

2010年度奖章获得者

发表于 2010-10-15 11:08 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 cdfei 于 2010-10-15 12:06 发表
如果有同名Element,顺序还是很重要的吧


通常來說, 如果你的code 是次序senstive的話, 那就是你的code 不是好code。
足迹 Reader is phenomenal. If you never used, you never lived 火速下载
Advertisement
Advertisement

2010年度奖章获得者

发表于 2010-10-15 11:10 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 cdfei 于 2010-10-15 12:07 发表

  a
  b



  b
  a

应该不等效


我看來這是完全等效的。

所以要問,你們在什麼情況下要用到次序?
足迹 Reader is phenomenal. If you never used, you never lived 火速下载

2007 年度奖章获得者

发表于 2010-10-15 11:11 |显示全部楼层
此文章由 coolioo 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coolioo 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-10-15 12:02 发表


問的就是schema 裡為什麼要用到次序? 什麼情況下要用到?

否則我只能認為,這個schema 本省就沒有定義好。


XHTML算XML的一种吧,你说element sequence 重要吗?
C.B

2010年度奖章获得者

发表于 2010-10-15 11:13 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 coolioo 于 2010-10-15 12:11 发表


XHTML算XML的一种吧,你说element sequence 重要吗?


我就是在做lz給的那個例子。
足迹 Reader is phenomenal. If you never used, you never lived 火速下载

2007 年度奖章获得者

发表于 2010-10-15 11:14 |显示全部楼层
此文章由 coolioo 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coolioo 所有!转贴必须注明作者、出处和本声明,并保持内容完整
XML的element重要与否,要看这个XML所承载的Business Logic是什么,就是想要表达什么。

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部