XML基础

XML 主页
XML 入门简介
XML 如何使用
XML 语法
XML 元素
XML 属性
XML 确认
XML 浏览器
XML 检视
XML 使用CSS
XML 使用XSL
XML 数据岛
XML 解析器
XML 应用

XML 高级部分
XML 命名空间
XML CDATA
XML 编码
XML 服务器
XML 应用
XML HTTP
XML 行为
XML 技术

实例/测验
XML 例子
XML 测验

资源
XML 书籍
XML 规范

XML元素


XML元素是可以扩展的,它们之间有关联。

XML元素有简单的命名规则。


XML元素是可以扩展的

XML文档可以被扩展一边携带更多的信息。

请看下面的XML便条例子:

<note>
<to>Lin</to>
<from>Ordm</from>
<body>Don't forget me this weekend!</body>
</note>

让我们来设想一个能够读取此XML文档的并能解读其中XML元素(<to>, <from>, 和<body>)的软件,可能的输出如下:

MESSAGE

To: Lin
From: Ordm

Don't forget me this weekend!

我们再来设想,如果便条的作者Ordm在这个XML文档中加入一些额外的信息,如下所示:

<note>
<date>2002-12-24</date>
<to>Lin</to>
<from>Ordm</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

那么原来的应用程序会中断或者崩溃么?

不会。应用程序仍然会正确的解读<to>, <from>, 和<body> 等元素,并且产生同样的输出。

XML文档是可以扩展的!


XML元素是相互关联的

XML元素之间是父元素和子元素的关系。

为了更好的理解XML术语,必须了解XML元素之间的关系如何,以及元素的内容是如何被描述的。

设想有这样一本书:

署名: XML 指南

第一章: XML入门简介

  • 什么是HTML
  • 什么是XML

第二章: XML语法

  • XML元素必须有结束标记
  • XML元素必须正确的嵌套

我们可以用XML文档来描述这本书:

<book>
<title>XML 指南</title>
<prod id="33-657" media="paper"></prod>
<chapter>XML入门简介
<para>什么是HTML</para>
<para>什么是XML</para>
</chapter>
<chapter>XML语法
<para>XML元素必须有结束标记</para>
<para>XML元素必须正确的嵌套</para>
</chapter>
</book>

在上面的代码中,Book元素是XML文档的根元素,title元素和chapter元素是book元素的子元素。Book元素是title元素和chapter元素的父元素。title元素,prod元素和chapter元素是平级元素,因为他们都有同一个父元素。


XML元素的内容

XML元素有不同的内容。

XML元素指的是从该元素的开始标记到结束标记之间的这部分内容。

XML元素有元素内容,混合内容,简单内容或者空内容。每个元素都可以拥有自己的属性。

在上面的例子中,book元素有元素内容,应为book元素包含了其它的元素。Chapter元素有混合内容,因为它里面包含了文本和其他元素。para元素有简单的内容,因为它里面仅有简单的文本。prod元素有空内容,因为他不携带任何信息。

在上面的例子中,只有prod元素有属性,id属性值是33-657,media属性值是paper。


XML元素命名

XML元素命名必须遵守下面的规则:

  • 元素的名字可以包含子母,数字和其他字符。
  • 元素的名字不能以数字或者标点符号开头。
  • 元素的名字不能以XML(或者xml,Xml,xMl...)开头。
  • 元素的名字不能包含空格。

自己“发明”的XML元素还必须注意下面一些简单的规则:

任何的名字都可以使用,没有保留字(除了XML),但是应该使元素的名字具有可读性,名字使用下划线是一个不错的选择。

例如: <first_name>, <last_name>.

尽量避免使用“-”,“.”,因为有可能引起混乱。

只要你愿意元素的名字可以很长,但也不要太夸张了哦。命名应该遵循简单易读的原则,例如:<book_title>是一个不错的名字,而<the_title_of_the_book>则显得罗嗦了。 

XML文档往往都对应着数据表,我们应该尽量让数据库中的字段的命名和相应的XML文档中的命名保持一致,这样可以方便数据变换。

非英文/字符/字符串也可以作为XML元素的名字,例如<蓝色理想><经典论坛>这都是完全合法的名字。但是有一些软件不能很好的支持这种命名,所以尽量使用英文字母来命名。

在XML元素命名中不要使用":",因为XML命名空间需要用到这个十分特殊的字符。