本文概述
XML元素可以具有属性。通过使用属性, 我们可以添加有关元素的信息。
XML属性增强了元素的属性。
注意:XML属性必须始终用引号引起来。我们可以使用单引号或双引号。
让我们以图书出版商为例。在这里, 书是元素, 出版者是属性。
<book publisher="Tata McGraw Hill"></book>
Or
<book publisher='Tata McGraw Hill'></book>
元数据应存储为属性, 数据应存储为元素。
<book>
<book category="computer">
<author> A & B </author>
</book>
数据可以存储在属性或子元素中。但是在子元素上使用属性存在一些限制。
为什么要避免使用XML属性
- 属性不能包含多个值, 但是子元素可以具有多个值。
- 属性不能包含树结构, 而子元素可以。
- 属性不容易扩展。如果将来要更改属性的值, 可能会很复杂。
- 属性不能描述结构, 而子元素可以。
- 属性更难被程序代码操纵。
- 属性值不容易针对DTD进行测试, DTD用于定义XML文档的法律元素。
属性和子元素之间的区别
在文档的上下文中, 属性是标记的一部分, 而子元素是基本文档内容的一部分。
在数据表示的上下文中, 差异尚不明确, 可能会造成混淆。
相同的信息可以通过两种方式表示:
第一种方式:
<book publisher="Tata McGraw Hill"> </book>
第二种方式:
<book>
<publisher> Tata McGraw Hill </publisher>
</book>
在第一个示例中, 发布者用作属性, 在第二个示例中, 发布者是元素。
这两个示例提供了相同的信息, 但是最好避免使用XML中的属性, 而使用元素代替属性。