在 XSD、SOAP 和其他 XML 约定中,您经常会看到类似以下内容:
<book>
<title>Harry Potter</title>
<author>J.K. Rowling</author>
</book>
现在我想知道,属性怎么了?对我来说,将其写为更有意义:
<book title="Harry Potter" author="J.K. Rowling" />
但显然,出于某种原因,比我聪明的人选择了其他方式。 有人可以解释一下原因以及什么属性吗?
没有硬性规定。我倾向于使用有关元素中包含的数据的“元数据”属性。例如
<book author="JK Rowling" published="September 2001">Harry Potter</book>
尽管使用/特定要求将比其他任何事情更能决定这一点。
另一个问题是后续处理。如果您使用 SAX 处理器,则此格式将导致一个方法回调,其中填充了 atteribute 结构。将数据放入多个元素中会导致相应的方法调用次数(这可能是一种过分的优化,但根据数据量可能值得考虑)