2

在 XSD、SOAP 和其他 XML 约定中,您经常会看到如下内容:

<book>
 <title>Harry Potter</title>
 <author>J.K. Rowling</author>
</book>

现在我想知道,属性发生了什么?对我来说,把它写成这样更有意义:

<book title="Harry Potter" author="J.K. Rowling" />

但显然,出于某种原因,比我更聪明的人选择了其他方式。有人可以解释为什么,然后是什么属性?

4

2 回答 2

5

有些人认为差异是个人喜好问题。您可以遵循一些指导方针。

W3Schools - XML 元素与。属性

IBM - XML 设计原则

于 2009-05-05T14:39:06.720 回答
2

没有硬性规定。我倾向于将属性用于有关元素中包含的数据的数据。例如

<book author="JK Rowling" published="September 2001">Harry Potter</book>

尽管使用/特殊要求将比其他任何东西更能确定这一点。

另一个问题是后续处理。如果您使用的是 SAX 处理器,那么这种格式将导致一个方法回调,其中填充了属性结构。将数据放在多个元素中会导致相应的方法调用次数(这可能是优化过头了,但根据数据量可能值得考虑)

于 2009-05-05T14:41:15.390 回答