XML 文档包含 XML 元素
什么是 XML 元素?
XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分
元素可包含其他元素文本或者两者的混合物元素也可以拥有属性
<bookstore>
<book category=CHILDREN>
<title>Harry Potter</title>
<author>J K Rowling</author>
<year></year>
<price></price>
</book>
<book category=WEB>
<title>Learning XML</title>
<author>Erik T Ray</author>
<year></year>
<price></price>
</book>
</bookstore>
在上例中<bookstore> 和 <book> 都拥有元素内容因为它们包含了其他元素<author> 只有文本内容因为它仅包含文本
在上例中只有 <book> 元素拥有属性 (category=CHILDREN)
XML 命名规则
XML 元素必须遵循以下命名规则
名称可以含字母
数字以及其他的字符 名称不能以数字或者标点符号开始 名称不能以字符
xml
(或者 XML
Xml)开始 名称不能包含空格
可使用任何名称没有保留的字词
最佳命名习惯
使名称具有描述性使用下划线的名称也很不错
名称应当比较简短比如<book_title>而不是<the_title_of_the_book>
避免 字符如果您按照这样的方式进行命名firstname一些软件会认为你需要提取第一个单词
避免 字符如果您按照这样的方式进行命名firstname一些软件会认为 name 是对象 first 的属性
避免 : 字符冒号会被转换为命名空间来使用(稍后介绍)
XML 文档经常有一个对应的数据库其中的字段会对应 XML 文档中的元素有一个实用的经验即使用数据库的名称规则来命名 XML 文档中的元素
非英语的字母比如 éòá 也是合法的 XML 元素名不过需要留意当软件开发商不支持这些字符时可能出现的问题
XML 元素是可扩展的
XML 元素是可扩展以携带更多的信息
请看下面这个 XML 例子
<note>
<to>George</to>
<from>John</from>
<body>Dont forget the meeting this weekend!</body>
</note>
让我们设想一下我们创建了一个应用程序可将 <to><from> 以及 <body> 元素提取出来并产生以下的输出
MESSAGETo: GeorgeFrom: JohnDont forget the meeting this weekend!
想象一下之后这个 XML 文档作者又向这个文档添加了一些额外的信息
<note>
<date></date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Dont forget the meeting this weekend!</body>
</note>
那么这个应用程序会中断或崩溃吗?
不会这个应用程序仍然可以找到 XML 文档中的 <to><from> 以及 <body> 元素并产生同样的输出
XML 的优势之一就是可以经常在不中断应用程序的情况进行扩展