XML:属性还是子项? [重复]哈利·波特

问题描述 投票:0回答:2

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

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

现在我想知道,属性怎么了?对我来说,将其写为更有意义:

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

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

xml xsd xml-attribute
2个回答
6
投票

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

W3Schools - XML 元素与 XML 元素属性

IBM - XML 设计原则 2020 2011


3
投票

没有硬性规定。我倾向于使用有关元素中包含的数据的“元数据”属性。例如 <book author="JK Rowling" published="September 2001">Harry Potter</book>

尽管使用/特定要求将比其他任何事情更能决定这一点。

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

© www.soinside.com 2019 - 2024. All rights reserved.