XML 属性
-
定义和使用
必须始终引用属性值,可以使用单引号或双引号。对于一个人的性别,<person>元素可以这样写:<person gender="female">
或者像这样:<person gender='female'>
如果属性值本身包含双引号,则可以使用单引号,如下例所示:<gangster name='George "Shotgun" Ziegler'>
或者可以使用字符实体:<gangster name="George "Shotgun" Ziegler">
-
XML元素与属性
看看这些例子:<person gender="female"> <firstname>安娜</firstname> <lastname>史密斯</lastname> </person>
<person> <gender>female</gender> <firstname>安娜</firstname> <lastname>史密斯</lastname> </person>
在第一个例子中,性别是一个属性;最后,性别是一个因素。两个例子提供了相同的信息。在 XML 中,没有关于何时使用属性或何时使用元素的规则。 -
三个XML文档方式
以下三个XML文档包含完全相同的信息:在第一个示例中使用日期属性:<note date="2020-01-10"> <to>Tove</to> <from>Jani</from> </note>
在第二个示例中使用<date>元素:<note> <date>2020-01-10</date> <to>Tove</to> <from>Jani</from> </note>
第三个示例中使用了展开的<date>元素:<note> <date> <year>2020</year> <month>01</month> <day>10</day> </date> <to>Tove</to> <from>Jani</from> </note>
-
避免XML属性?
使用属性时需要考虑的一些事情是:- 属性不能包含多个值(元素可以)
- 属性不能包含树结构(元素可以)
- 属性不易扩展(用于将来的更改)
<note day="10" month="01" year="2020" to="Tove" from="Jani" heading="Reminder" body="这个周末别忘了我!"></note>
-
元数据的XML属性
MetadataSometimes ID 引用的 XML 属性被分配给元素。这些id可用于标识 XML 元素,其方式与 HTML 中的 id 属性基本相同。这个例子说明了这一点:<messages> <note id="501"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>这个周末别忘了我!</body> </note> <note id="502"> <to>Jani</to> <from>Tove</from> <heading>Re: Reminder</heading> <body>我不会忘!</body> </note> </messages>
上面的 id 属性用于标识不同的注释。它不是音符本身的一部分。元数据(关于数据的数据)应该作为属性存储,而数据本身应该作为元素存储。