XML各式风格的优缺点

xiedewei 2010-09-26 02:09:02
第一次在贵版发帖,请各位多指教。
我见过多种XML风格,不知道有什么优缺点。下面列举3种。
<!-- 1 -->
<FieldSchema>
<FieldName>Description</FieldName>
<DisplayName>名称</DisplayName>
<DataType>10</DataType>
<FieldKind>2</FieldKind>
</FieldSchema>

<!-- 2 -->
<FieldSchema FieldName="Description" DisplayName="名称" DataType="10" FieldKind="2"/>

<!-- 3 -->
<FieldSchema> FieldName="Description" DisplayName="名称" DataType="10" FieldKind="2"</FieldSchema>
...全文
216 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoziteng 2010-09-29
  • 打赏
  • 举报
回复
专业人士的说法是:序列化/反序列化快。
哈哈,楼主能明白的!
xjchilli 2010-09-28
  • 打赏
  • 举报
回复
第一种需考虑在什么场合下使用。
要我就会第一,第二种结合使用。
xiedewei 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 lisunlin0 的回复:]
使用XML的时候不应该考虑数据冗余。
使用第一种比较易于扩展,而且不会影响到原有程序的功能,也没有太多的限制。
使用第二种数据比较紧凑,但作为Attribute结点,数据表示有限制,并且不易于扩展。
第三种应该为自定义模式,不作讨论。
当然,具体使用哪种应该根据实际情况,仔细斟酌,一个好的设计比一堆杂凑的技术要强百倍。
[/Quote]
如果XML用于网络数据传输也不用考虑数据冗余吗?
herostarone 2010-09-27
  • 打赏
  • 举报
回复
我们公司都是用的第一种格式,很好理解,重载xml里用sax方法解析可以了
teleinfor 2010-09-27
  • 打赏
  • 举报
回复
偶的理解属性方法扩展性不够,node的方式扩展更加灵活,对于解析来说也有一定好处。当然,属性和node还是要结合具体使用来制定的。属性更多的是说明node的特性,node更多的是逻辑上归属而不是拥有,另外更加对外展示来用吧。

个人理解。

[Quote=引用 11 楼 lisunlin0 的回复:]

使用XML的时候不应该考虑数据冗余。
使用第一种比较易于扩展,而且不会影响到原有程序的功能,也没有太多的限制。
使用第二种数据比较紧凑,但作为Attribute结点,数据表示有限制,并且不易于扩展。
第三种应该为自定义模式,不作讨论。
当然,具体使用哪种应该根据实际情况,仔细斟酌,一个好的设计比一堆杂凑的技术要强百倍。
[/Quote]
sunlin7 2010-09-26
  • 打赏
  • 举报
回复
使用XML的时候不应该考虑数据冗余。
使用第一种比较易于扩展,而且不会影响到原有程序的功能,也没有太多的限制。
使用第二种数据比较紧凑,但作为Attribute结点,数据表示有限制,并且不易于扩展。
第三种应该为自定义模式,不作讨论。
当然,具体使用哪种应该根据实际情况,仔细斟酌,一个好的设计比一堆杂凑的技术要强百倍。
vivvan 2010-09-26
  • 打赏
  • 举报
回复
比较同意LS的,1和2出现的情况都挺多的,至于属性还是结点,要看实际的应用。

至于LZ说的第三种情况我认为实用性较差,直接得到的是一串字符串,在格式不确定的情况下,解析起来还是很头痛的。。
teleinfor 2010-09-26
  • 打赏
  • 举报
回复
关注。我也是非常关注第一种和第二种的行文风格。第一种采用node的方式描述每一个元素,而第二种以属性的方式描述每一个元素。从逻辑意义的角度来看,第一种适合描述的是层级关系,比如树形结构的数据内容逻辑结构管理;而第二种多用来描述一个对象的各种属性内容。举例说明:

<!--属性描述方式-->
<xmlNode Property1 = "" Property2 = "" Property3 = ""></xmlNode>



<!--属性结构描述,但是各个node又可以拥有自己的属性,从逻辑上而言可能表象形式比较易懂,逻辑清晰-->
<xmlNode Property = "">
<subNode1 Property = ""></subNode1>
<subNode2 Property = ""></subNode2>
<subNode3 Property = ""></subNode3>
</xmlNode>


个人理解,有些东西适合以属性描述;有些适合以树形结构描述,表示一种层级关系。
VisualStudio 2010-09-26
  • 打赏
  • 举报
回复
第一种风格直观,方便手工修改,适合数据项少没有重复记录项的情况。
第二种风格适用于以数据库记录形式保存。记录多时比第一种节约空间,也方便程序以列表形式处理。
至于第三种也许有吧,在我看来和第二种一样,只不过比第二种容易阅读而已。
xiedewei 2010-09-26
  • 打赏
  • 举报
回复
如果用作数据传输,第二种是不好些?哪种解析效率高?
xiedewei 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tiger9991 的回复:]
第三种是不是该这样
<FieldSchema FieldName="Description" DisplayName="名称" DataType="10" FieldKind="2"></FieldSchema>
[/Quote]不是,就是我贴的那样。我估计第三种是方便自定义解析器解析的。
xiedewei 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 akirya 的回复:]
第三种基本没见过啊

第二种倒是值里面不能有空格
[/Quote]
有空格在什么情况下会出错吗?
傻X 2010-09-26
  • 打赏
  • 举报
回复
第三种是不是该这样
<FieldSchema FieldName="Description" DisplayName="名称" DataType="10" FieldKind="2"></FieldSchema>


Summer_King 2010-09-26
  • 打赏
  • 举报
回复
关注楼主的提问
phoeni_xin 2010-09-26
  • 打赏
  • 举报
回复
个人感觉第一种方便用xpath。

第二种同意楼上的。

第三种也没见过。
  • 打赏
  • 举报
回复
第三种基本没见过啊

第二种倒是值里面不能有空格

3,055

社区成员

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

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