XML元素概念
XML元素是从元素的开始标签(包括)到元素的结束标签(包括)的所有内容。如:
<price>29.99</price>
元素可以包含:
- 内容文本
- 属性
- 其他元素
- 或以上混合形式
<bookstore>
<book category="children">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
在上面的示例中:<title>
,<author>
,<year>
和<price>
具有内容文本,它们包含文本(例如29.99)。 <bookstore>
和<book>
具有元素内容。 <book>
具有属性(category ="children")。
空XML元素
没有内容的元素被认为是空的。 在XML中,可以这样指定一个空元素:
<element> </ element>
还可以使用自关闭标签:
<element />
两种形式在XML软件效果相同。
注:空元素可以具有属性。
XML元素命名规则:
- 元素名称区分大小写
- 元素名称必须以字母或下划线开头
- 元素名称不能以字母xml(或XML或Xml等)开头
- 元素名称可以包含字母,数字,连字符,下划线和句点
- 元素名称不能包含空格
可以使用任何名称,除了xml外,没有保留关键字。
最佳命名惯例
- 创建描述性名称,例如:
, , 。 - 创建简短的名称,例如:<book_title>而不是这样:<the_title_of_the_book>。
- 避免使用“-”。如果您将名称命名为“ first-name”,则某些软件可能会认为您想从“ first”中减去“ name”。
- 避免使用“.”。如果您将名称命名为“ first.name”,则某些软件可能会认为“ name”是对象“ first”的属性。
- 避免使用“:”。冒号是为命名空间保留的(稍后会介绍)。
- 非英语字母(例如éòá)在XML中是完全合法的,但是如果您的软件不支持它们,请当心问题。
命名大小写样式
XML元素命名大小写样式官方未定义。但是这里有一些常用的:
样式 | 示例 | 描述 |
---|---|---|
小写 | <firstname> | 所有字母小写 |
大写 | <FIRSTNAME> | 所有字母大写 |
下划线 | <first_name> | 下划线分隔单词 |
Pascal写法 | <FirstName> | 每个单词首字母大写 |
驼峰写法 | <firstName> | 除第一个单词外,其余单词首字母大写 |
XML元素是可扩展的
XML元素可以扩展以携带更多信息。示例:
<note>
<to>Tove</to>
<from>Jani</from>
<body>Don't forget me this weekend!</body>
</note>
假设我们创建了一个应用程序,该应用程序从XML文档中提取了
MESSAGE
To: Tove Don't forget me this weekend! |
增加额外信息后:
<note>
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
应用程序是否会崩溃? 否。应用程序仍然应该能够在XML文档中找到<to>
,<from>
和<body>
元素并产生相同的输出。 这是XML的优点之一。可以扩展它而不会破坏应用程序。