我最喜欢的方式

下面的三个 XML 文档包含完全相同的信息:

第一个例子中使用了 date 属性:

<note date="08/08/2008">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

第二个例子中使用了 date 元素:

<note>
<date>08/08/2008</date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

第三个例子中使用了扩展的 date 元素(这是我的最爱):

<note>
<date>
<day>08</day>
<month>08</month>
<year>2008</year>
</date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

避免 XML 属性?

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

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

请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。

不要做这样的蠢事(这不是 XML 应该被使用的方式):

<note day="08" month="08" year="2008"
to="George" from="John" heading="Reminder"
body="Don't forget the meeting!">
</note>

最新文章

  1. Android之自定义View的实现
  2. 一些简单的C语言算法
  3. 1089 最长回文子串 V2(Manacher算法)
  4. linux中级-JAVA企业级应用TOMCAT实战
  5. MMU
  6. 集群(cluster)原理(转)
  7. Cobar使用文档(可用作MySQL大型集群解决方案)
  8. EXTJS中的grid显示实际行号
  9. IOS 日期选择
  10. 关于volatile
  11. 编程实现任意长度整数的加法(整数可以长度超出C++中int范围)
  12. 枚举与define的区别
  13. UVa1630,Folding
  14. Game
  15. 九、VueJs 填坑日记之在项目中使用jQuery
  16. TurnipBit开发板掷骰子小游戏DIY教程实例
  17. ACL访问控制列表
  18. oracle、grid 用户ID
  19. Jenkins持续集成学习-Windows环境进行.Net开发2
  20. 第18月第21日 vue cnpm

热门文章

  1. noip模拟赛#38
  2. Wannafly Union Goodbye 2016-A//初识随机化~
  3. groupmod - 修 改 群 组
  4. BigDecimal and double
  5. Diff Two Arrays-freecodecamp算法题目
  6. 【Machine Learning is Fun!】1.The world’s easiest introduction to Machine Learning
  7. PAT 乙级 1048
  8. 14Shell脚本—判断语句
  9. python入门:BREAK 的用法 跳当前循环后,不再执行下面代码块
  10. 消息中间件ActiveMQ及Spring整合JMS