最佳实践:XML属性与XML元素 – 什么时候应该使用元素,何时应该使用属性?

参见英文答案 > XML attribute vs XML element20个答案这是XML数据的正确格式,它们是否相当或两者之间有权衡?

1。

<sitemap>
  <category name="Animals">
    <section title="Dogs">
      <page url="/pics/greatdane.jpg" title="Great Dane"/>
    </section>
  </category>
</sitemap>

2。

<sitemap>
  <page>
    <category>Animals</category>
    <section>Dogs</section>
    <title>Great Dane</title>
    <url>/pics/greatdane.jpg</url>    
  </page>
</sitemap>

我已经用我的样式表实现了第一个例子,它似乎工作正常,但我不确定正确的形式应该是什么。

属性vs元素的问题在十年的更好的部分已经存在,没有正确的答案。而应该考虑差异,从而您应该能够决定使用哪种方式:

>尽管您可以使用DTD或XML Schema对元素执行此操作,但只能有一个属性实例;
>属性无序。元素不是
>属性导致一个更简洁的语法,如果没有孩子。比较:

< page name =“Sitemap”/>

至:

<page>
  <name>Sitemap</name>
</page>

我知道我喜欢哪一个

>现在不是真的相关,因为DTD在XML Schema上没有被使用太多(如果有的话),但是我也会添加它:DTD允许属性认值(隐含),但没有元素的这种机制;和
元素作为元素,可以拥有自己的孩子和属性属性显然不能。

所以,从你的例子,你最内层的< page>元素具有URL属性(虽然它是某种原因的图像 – 也许是预览图标?如果是,属性名称是误导的)。一个网页只有一个URL(一般),所以这将是一个可以属性一个很好的例子。

另一方面,如果您想在页面上列出图像,显然可能会有一个以上,因此您需要的元素。

但是,最后,大多数时候没有正确或错误的答案,这主要是一个风格的问题。

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念