xml如何定义数据?

时间:2011-12-24 16:32:28

标签: java xml

在xml中,在内容或属性中定义数据时哪种方式更好?感谢

<order id='' orderBy='' orderTime=''>
   .....
</order>

<order id=''>
  .....
  <orderBy>.. </orderBy>
  <orderTime>...</orderTime>
</order>

4 个答案:

答案 0 :(得分:1)

取决于数据的内容。如果数据只是简单的字符串,那么第一个就没问题。

如果将来需要包装CDATA,第二个是很重要的。因此,如果数据很长或将来可能包含html,那么我建议使用第二种形式。如果你看看twitter的XML feed,你会注意到他们更喜欢在几乎所有的属性中使用一个元素。如果您需要添加更多相同类型的多个元素,使用元素将在未来为您提供灵活性。

以下是您应阅读的article,讨论此主题。

我的建议是将你的id保存在属性中,但其余部分保存在元素中。

答案 1 :(得分:0)

通常,我更喜欢使用元素而不是属性,因为稍后可以扩展元素(XML的“可扩展”部分)。但是,当您在这里使用两个示例时都具有相当具体的数据类型时,最好将它们保留为属性 - 特别是如果orderTime是标准XML dateTime类型。

答案 2 :(得分:0)

我想补充一点,如果CDATA没有问题,那么我更喜欢作为属性而不是Element。订单ID,日期,计数等应该是属性。订单商品应该是元素。

答案 3 :(得分:0)

一般来说,在以下情况下使用属性:

  • 父节点中只有一个(该名称)项目

否则,在以下情况下使用元素:

  • 节点内可以有多个(该名称)项目,或
  • 该项目很复杂,即可能包含attibutes或子元素本身