XML 元素
XML 文档包含 XML 元素
XML 的优势之一,就是可以在不中断应用程序的情况下进行扩展
什么是 XML 元素?
XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分
一个元素可以包含:
- 其它元素
- 文本
- 属性
- 或混合以上所有...
bookstore.xml
<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>
上面的范例中
- <bookstore> 和 <book> 都有 元素内容 ,因为它们包含其它元素
- <book> 元素也有 属性 ( category="CHILDREN" )
- <title>、<author>、<year> 和 <price> 有 文本内容 ,因为它们包含文本
XML 元素命名规则
XML 元素必须遵循以下命名规则:
- 名称可以包含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字母 xml(或者 XML、Xml 等等)开始
- 名称不能包含空格
可使用任何名称,没有保留的字词
XML 元素最佳命名习惯
-
使名称具有描述性,使用下划线的名称也很不错:<first_name>、<last_name>
-
名称应简短和简单,比如:<book_title> 而不是:<the_title_of_the_book>
-
避免 "-" 字符,如 "first-name",可能会被认为从 first 里边减去 name
-
避免 "." 字符,如 "first.name",可能会被认为 "name" 是对象 "first" 的属性
-
避免 ":" 字符,冒号会被转换为 XML 命名空间 来使用
-
使用数据库的命名规则来命名 XML 文档中的元素
XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素 有一个实用的经验,即使用数据库的命名规则来命名 XML 文档中的元素
- 不要使用 ASCII 之外的其它字符
在 XML 中,éòá 等非英语字母是完全合法的,不过需要留意,其它的软件供应商不支持这些字符时可能出现的问题
XML 元素是可扩展的
XML 元素是可扩展,以携带更多的信息
请看下面的 XML 范例:
<note> <to>小明</to> <from>小红</from> <heading>短信</heading> <body>I miss you so much</body> </note>
我们天马行空下,当我们创建了一个应用程序,可将 <to>、<from> 以及 <body> 元素从 XML 文档中提取出来,并产生以下的输出:
MESSAGE To:Tove From:Jani Don't forget me this weekend!
然后,XML 文档的作者小红想添加一些额外信息
<note> <date>2017-10-11</date> <to>小明</to> <from>小红</from> <heading>短信</heading> <body>I miss you so much</body> </note>
那么这个应用程序会中断或崩溃吗?
不会。这个应用程序仍然可以找到 XML 文档中的 <to>、<from> 以及 <body> 元素,并产生同样的输出
XML 的优势之一,就是可以在不中断应用程序的情况下进行扩展