首页 > 网页制作 >XML教程:通过一个例子来学习XML的语法

XML教程:通过一个例子来学习XML的语法

来源:互联网 2026-04-15 20:55:32

XML的语法规则既很简单,又很严格 乍一听“语法规则”似乎很复杂,但XML的关键魅力恰恰在于此——它的规则清晰明了,学起来容易,用起来更简单。正因如此,开发者想要创建能够读取和处理XML文档的软件,门槛其实并不高。 这一切,都源于XML那套自我描述的、简洁的语法。 一个XML文档的例子 看一个具体例

XML的语法规则既很简单,又很严格

乍一听“语法规则”似乎很复杂,但XML的关键魅力恰恰在于此——它的规则清晰明了,学起来容易,用起来更简单。正因如此,开发者想要创建能够读取和处理XML文档的软件,门槛其实并不高。

这一切,都源于XML那套自我描述的、简洁的语法。

长期稳定更新的攒劲资源: >>>点此立即查看<<<

一个XML文档的例子

看一个具体例子就一目了然了:



Tove
Jani
Reminder
Don't forget me this weekend!

文档第一行是XML声明,它定义了XML的版本和使用的字符编码。这里用的是XML 1.0规范,字符集是ISO-8859-1。

紧随其后的那一行,则点明了文档的根元素,就像在声明:“注意了,本文档内容是一张便签”。这就是:

接下来的四行,清晰地描述了根元素下的四个子元素(收件人、发件人、标题和正文):

Tove
Jani
Reminder
Don‘t forget me this weekend!

最后一行,自然就是根元素的闭合标签:


看明白了吗?这份XML文档记录的是Jani留给Tove的一张提醒便签。通过这个例子,你大概会认同:XML确实具有出色的自我描述特性。

所有元素都须有关闭标签

在XML的世界里,省略关闭标签可是不被允许的。

这与HTML不同。在HTML中,像下面这样的写法有时能被“宽容”处理:

This is a paragraph

This is another paragraph

但到了XML中,规矩就必须严格执行。所有的元素都必须有始有终,关闭标签一个都不能少:

This is a paragraph

This is another paragraph

说到这里,有个地方需要特别提一下:你可能已经注意到,例子开头的XML声明并没有关闭标签。这可不是疏漏。因为声明本身并不属于XML元素的范畴,所以它不需要关闭标签。

XML标签对大小写敏感

这一点也和HTML有显著区别,XML是严格区分大小写的。

在XML看来,是完全不同的两个标签。

所以,必须用完全相同的大小写格式来书写开标签和闭标签:

这是错误的。  
这是正确的。    

XML必须被正确地嵌套

标签之间不正确地嵌套,在XML里是行不通的。

在HTML中,你偶尔会看到一些不太规范的嵌套,浏览器可能会尝试去理解它,比如:

This text is bold and italic

但在XML中,规矩没得商量。所有元素必须像俄罗斯套娃一样,严格地、正确地进行嵌套:

This text is bold and italic

XML文档必须有根元素

所有XML文档都必须包含一个,且只能有一个,用于定义根元素的标签对。

文档中所有其他元素都必须是这个根元素的后代,必须被包含在它的内部。当然,元素之间可以形成父子关系,但子元素必须被正确地嵌套在其父元素内部:


  
    .....
  

XML的属性值须加引号

在XML中,属性值两旁的引号绝不能省略。

和HTML一样,XML元素也可以拥有属性(即名称/值的配对)。不同的是,XML要求属性值必须用引号括起来。我们来对比一下下面两个文档片段,第一个是错误的示范,第二个才是正确的写法:


  
Tove
Jani

  
Tove
Jani

看到了吗?第一个文档里的日期属性没有引号。记住这个格式:date="12/11/2002"是正确的;date=12/11/2002则是错误的。

在XML中,空格会被保留

XML不会擅自删除文档中的空格。

这一点又与HTML的处理方式截然不同。在HTML里,如果你写下这样一串文字:

Hello              my name is Tove,

浏览器显示时通常会压缩掉多余的空格,变成:

Hello my name is Tove,

原因在于HTML解析器默认会将多个连续的空格合并为一个。但XML文档会原封不动地保留你输入的所有空白字符。

在XML中,CR / LF会被转换为LF

在XML里,一个新的行(也就是我们常说的换行)被标准化存储为LF(Line Feed,换行符)。

这里需要稍微解释一下历史背景。早期的打字机是机械设备,打完一行字后,你需要手动将滑架推回左边(回车,Carriage Return, CR),并滚动手柄将纸向上推一行(换行,Line Feed, LF)。

这个历史习惯影响了不同的操作系统:在Windows应用中,新行通常被存储为一对字符:回车(CR)紧跟着换行(LF)。Unix/Linux系统则通常只用LF字符来表示新行。而经典的Macintosh系统仅使用CR字符。XML规范为了统一和简化,将所有这些换行表示都标准化为单一的LF字符。

XML中的注释

在XML中添加注释,语法和HTML非常相似,非常容易上手:

XML没什么特殊之处

说到底,XML本身并没有什么魔法。它本质上就是纯文本,只不过其中夹杂了一些被尖括号包裹起来的标签而已。

这意味着,任何能够处理纯文本文件的软件,理论上都能处理XML文件。在简易的文本编辑器里,XML标签也会被当作普通文本显示出来,不会获得任何特殊对待。

当然,在那些专门“认识”XML的应用程序里,情况就不同了。这些标签会被解析器识别出来,并根据应用程序的设计,或被赋予特定的功能含义,或以特定的方式展示。这,才是XML真正发挥威力的地方。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。