XML 元素 vs. 属性

本文探讨了在XML中何时使用属性,何时使用子元素,详细分析了属性和子元素的区别,并提供了选择使用属性还是子元素的指导原则。

**********              以下内容摘录自w3cshool              **********


例子:

<person sex="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person> 

<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person> 

在例子中,sex 是一个属性。在第二个例子中,sex 则是一个子元素。两个例子均可提供相同的信息。

没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用子元素。我的经验是在 HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧。


避免 XML 属性?

因使用属性而引起的一些问题:

  • 属性无法包含多重的值(元素可以)
  • 属性无法描述树结构(元素可以)
  • 属性不易扩展(为未来的变化)
  • 属性难以阅读和维护





**********              以下内容摘录自microsoft             **********

应使用元素还是属性?

元素用于封装数据,而属性通常用于提供有关元素的伴随信息,而不是封装原始数据本身。实际使用元素还是属性取决于应用程序的需要。

当您的信息需要简单类型的数据并且存在以下情况时,请使用属性:

  • 信息需要默认值或固定值。

  • 信息需要的数据是现有元素的元数据

  • 如果 XML 文件的大小很重要,那么属性所需的字节数往往比元素要少

下面的列表从架构角度描述元素和属性之间的主要差异:

  • 架构可以定义元素的排序是否有效,但属性可以任意顺序出现。

  • 元素可以用 <choice> 标记嵌套,这意味着列出的元素中有一个且仅有一个可以显示。

  • 元素可以出现不止一次,但属性不能。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值