夜鹰教程网-程序员的加油站
 当前位置:文章中心 >> web前端技术
XML教程:通过一个例子来学习XML的语法
夜鹰教程网 来源:www.yyjcw.com 日期:2016-10-26 21:36:08
XML的语法规则既很简单,又很严格。这些规则很容易学习,也很容易使用。 

XML的语法规则既很简单,又很严格。这些规则很容易学习,也很容易使用。

正因为如此,创建可读取及操作XML的软件不是一件难事。

一个XML文档的例子

XML使用一种可自我描述的简单的语法。

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

此文档中的第一行 - XML声明 - 定义了XML的版本和文档中使用的字符编码。在这个例子中,遵守的是XML 1.0规范,并使用了ISO-8859-1字符集。

接下来的一行描述了文档的根元素(就像是在说:“本文档是一个便签”):

<note>

接下来的4行描述了根元素的4个子元素(to, from, heading, 以及 body):

<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>

最后的一行定义了根元素的结尾:

</note>

我们可以看到,这个XML文档包含了一个由Jani留给Tove的便签。现在,您应该会同意我们的上述观点,即XML具有完美的自我描述特性。

所有元素都须有关闭标签

当使用XML时,省略关闭标签是非法。

在HTML中,某些元素不一定要有关闭标签。在HTML中下面的代码是合法的:

<p>This is a paragraph
<p>This is another paragraph

在XML中,所有的元素都要有关闭标签:

<p>This is a paragraph</p>
<p>This is another paragraph</p> 

注释:您也许已经从上面的例子中注意到XML声明没有关闭标签。这不是错误。声明不属于XML本身的组成部分。它不是XML元素,也不需要关闭标签。

XML标签对大小写敏感

和HTML不同,XML标签对大小写敏感。

在XML中,标签<Letter>和标签<letter>是不同的。

所以必须使用相同的大小写打开并关闭标签:

<Message>这是错误的。</message>
<message>这是正确的。</message>

XML必须被正确地嵌套

不正确的标签嵌套对XML是没有意义的。

在HTML中,某些元素可以不正确地彼此嵌套在一起,就像这样:

<b><i>This text is bold and italic</b></i>

在XML中,所有的元素必须正确地彼此嵌套,就像这样:

<b><i>This text is bold and italic</i></b>

XML文档必须有根元素

所有的XML必须包含可定义根元素的单一标签对。

所有其他的元素都必须处于这个根元素内部。

所有的元素均可拥有子元素。子元素必须被正确地嵌套于它们的父元素内部:

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root> 

XML的属性值须加引号

在XML中,省略属性值两旁的引号是非法的。

和HTML类似,XML也可拥有属性(名称/值的对)。在XML中,XML的属性值须加引号。请研究下面的两个XML文档。第一个是错误的,第二个是正确的:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note date=12/11/2002>
<to>Tove</to>
<from>Jani</from>
</note>
<?xml version="1.0" encoding="ISO-8859-1"?>
<note date="12/11/2002">
<to>Tove</to>
<from>Jani</from>
</note>

在第一个文档中,日期属性没有加引号。这是正确的:date="12/11/2002"。这是错误的:date=12/11/2002。

在XML中,空格会被保留。

在XML中,空格不会被截掉。

这与HTML不同。在HTML中,像这样的一个句子:

Hello              my name is Tove,

会显示为这样:

Hello my name is Tove,

这是由于HTML会把多个连续的空格字符裁减为一个。

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

在XML中,一个新的行(即换行)被存储为LF(Line Feed,换行)。

您熟悉打字机吗?打字机是上世纪用来制造印刷文档的机械设备。:-)

当您用打字机键入了一行文字后,就需要手动将打印滑架移至左侧页边空白的位置,并手动进纸(feed)一行。

在 Windows 应用程序中,新行通常存储为一对字符:回车(CR)和换行(LF)。这个字符对与打字机的设置新行的动作有异曲同工之处。在Unix应用程序中,新行通常存储为LF字符。而Macintosh应用程序仅使用CR字符来存储新行。

XML中的注释

在XML中书写注释的语法与HTML的语法类似:

<!-- This is a comment -->

XML没什么特殊之处

XML没什么特殊之处。它只是带有被括在角形括号中的标签的纯文本而已。

可处理纯文本文件的软件也可以处理XML。在一个简单的文本编辑器中,XML标签也可被显示出来,不会被特殊地对待。

在可识别XML的(XML-aware)应用程序中,XML标签会被专门处理。根据不同的应用程序种类,这些标签也许会/也许不会被看到,又或许拥有某种功能意义。

复制链接 网友评论 收藏本文 关闭此页
上一条: Microsoft的XMLHTTP对象介绍  下一条: 百度新闻开放协议XML文档制作方法简述
夜鹰教程网成立于2008年,目前已经运营了将近 13 年,发布了大量关于 html5/css3/C#/asp.net/java/python/nodejs/mongodb/sql server/android/javascript/mysql/mvc/easyui/vue/echarts原创教程。 我们一直都在坚持的是:认证负责、一丝不苟、以工匠的精神来打磨每一套教程,让读者感受到作者的用心。我们默默投入的时间,确保每一套教程都是一件作品,而不是呆板的文字和视频! 目前我们推出在线辅导班试运营,模式为一对一辅导,教学工具为QQ。我们的辅导学科包括 java 、android原生开发、webapp开发、商城开发、C#和asp.net开发,winform和物联网开发、web前端开发,但不仅限于此。 普通班针对的是国内学员,例如想打好基础的大学生、想转行的有志青年、想深入学习的程序员、想开发软件的初学者或者业余爱好者等。 就业办针对即将毕业上岗的大四学生,或者打算转行的初级开发工程师。 留学生班针对的是在欧美、加拿大、澳洲、日本、韩国、新加坡等地留学的中国学子,目的是让大家熟练地掌握编程技能,按时完成老师布置的作业,并能顺利地通过考试。 详细咨询QQ:1416759661   夜鹰教程网  基于角色的权限管理系统(c-s/b-s)。
  夜鹰教程网  基于nodejs的聊天室开发视频教程
  夜鹰教程网  Git分布式版本管理视频教程
  夜鹰教程网  MVC+EasyUI视频教程
  夜鹰教程网  在线考试系统视频教程
  夜鹰教程网  MongoDB视频教程。
  夜鹰教程网 Canvas视频教程
  夜鹰教程网 报表开发视频教程
  热点推荐
XML Schema学习笔记(1)
XML Schema学习笔记(2)
C#对XML文档的操作
ASP操作XMLDOM
XML入门教程:分析XML
百度新闻开放协议XML文档制作方法…
XSL 语言
用RSS做五分钟一自动更新的网站
XML入门教程:文档类型声明
XML教程:通过一个例子来学习XML的…
XML节点相关知识
把XML文件绑定到列表控件
XML+XSLT+CSS+JQuery+WebService组…
XHTML头部Doctype声明必不可少!
历数Firefox2.0对XML处理的改进
  最近更新
金三银四跳槽季—前端面试汇总
Sublime常用插件汇总(全)
大前端学习路线
如何克服前端学习进步慢的问题
web前端常见基础问题
阿里前端面试经历(转载)
Web前端需要掌握技术汇总(转)
ESLint详解-让你的代码更加规范
通过userAgent适配 PC端和移动端网…
js操作DOM中需要注意的问题
Promise编程简介
Emmet语法和实例
新手所必须掌握的前端知识汇总
移动端视口的相关概念及其适配方案…
上传图片立即预览

关于我们 | 网站建设 | 技术辅导 | 常见问题 | 联系我们 | 友情链接

夜鹰教程网 版权所有 www.yyjcw.com All rights reserved 备案号:蜀ICP备08011740号3