专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 XML语法详解

XML语法详解

更新时间:2020-12-02 17:44:14 来源:动力节点 浏览1108次

XML是标准通用标记语言SGML的子集—可扩展标记语言,XML是一种用于标记电子文件使其具有结构性的标记语言。XML的简单易于在任何应用程序中读/写数据,使得XML很快成为数据交换的唯一公共语言,但掌握这门语言还是需要先了解XML语法的。本文我们就来看一看XML语法,以便我们今后对XML语言的深入学习。

 

一般情况下,一个XML文件的语法涉及到如下几部分内容:

1.文档声明

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

XML声明放在XML文档的第一行

XML声明由以下几个部分组成:

 

version –文档符合XML1.0规范,我们学习1.0

encoding –文档字符编码,比如”GB2312”或者”UTF-8”

standalone –文档定义是否独立使用

standalone=”no”为默认值。yes代表是独立使用,而no代表不是独立使用

 

2.元素(或者叫标记、节点)

(1)每个XML文档必须有且只有一个根元素

根元素是一个完全包括文档中其他所有元素的元素

根元素的起始标记要放在所有其他元素的起始标记之前

跟元素的结束标记要放在所有其他元素的结束标记之后


(2)XML元素指的是XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写方式,例如

包含标签体:

<a>www.bjpowernode.com</a>

不含标签体的:

<a></a>,简写为:<a/>


(3)一个标签中也可以嵌套若干子标签。但所有标签必须合理地嵌套,绝对不允许交叉嵌套,例如

<a>welcome to <b> www.bjpowernode.com </a></b>

这种情况肯定是要报错的。


(4)对于XML标签中出现的所有空格和换行,XML解析程序都会当做标签内容进行处理。


(5)由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,要特别注意。


(6)命名规范:一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守以下规范:

区分大小写,例如,元素P和元素p是两个不同的元素

不能以数字或下划线”_”开头

元素内不能包含空格

名称中间不能包含冒号(:)

可以使用中文,但一般不这么用


3.属性

<student id="100">

    <name>Tom</name>

</student>


(1)属性值用双引号(”)或单引号(’)分隔,如果属性值中有单引号,则用双引号分隔;如果有双引号,则用单引号分隔。那么如果属性值中既有单引号还有双引号怎么办?这种要使用实体(转义字符,类似于html中的空格符),XML有5个预定义的实体字符。


(2)一个元素可以有多个属性,它的基本格式为:

<元素名 属性名1="属性值1" 属性名2="属性值2">

(3)特定的属性名称在同一个元素标记中只能出现一次


(4)属性值不能包括<,>,&,如果一定要包含,也要使用实体

 

4.注释

XML的注释类似于HTML中的注释:

<!--这是一个注释-->

(1)注释内容不要出现--

(2)不要把注释放在标记中间;

(3)注释不能嵌套

(4)可以在除标记以外的任何地方放注释

 

5.CDATA节

假如有这么一个需求,需要通过XML文件传递一幅图片,怎么做呢?其实我们看到的电脑上的所有文件,本质上都是字符串,不过它们都是特殊的二进制字符串。我们可以通过XML文件将一幅图片的二进制字符串传递过去,然后再解析成一幅图片。那么这个字符串就会包含大量的<,>,&或者“等一些特殊的不合法的字符。这时候解析引擎是会报错的。

所以,有些内容可能不想让解析引擎解析执行,而是当做原始内容处理,用于把整段文本解释为纯字符数据而不是标记。这就要用到CDATA节。

语法如下:

 

<![CDATA[

    ......

]]>

CDATA节中可以输入任意字符(除]]>外),但是不能嵌套。

 

6.处理指令

处理指令,简称PI(processing instruction)。处理指令用来指示解析引擎如何解析XML文件,看下面一个例子:

比如我们也可以使用css样式表来修饰XML文件,编写my.css如下:

 

name{

    font-size:80px;

    font-weight:bold;

    color:red;

}

 

sex{

    font-size:60px;

    font-weight:bold;

    color:blue;

}

 

sex{

    font-size:40px;

    font-weight:bold;

    color:green;

}

我们在xml文件中使用处理指令引入这个css文件,如下:

 

<?xml version="1.0" encoding="gb2312"?>

<?xml-stylesheet href="my.css" type="text/css"?>

<class>

    <stu id="001">

        <name>小明</name>

        <sex>男</sex>

        <age>20</age>

    </stu>  

    <stu id="002">

        <name>小红</name>    

        <sex>女</sex>

        <age>21</age>

    </stu>

</class>

这时候我们再用浏览器打开这个xml文件,会发现浏览器解析出一个带样式的视图,而不再是单纯的目录树了。

 

以上就是对XML语法的详细介绍,在我们学习XML语言的过程中多多少少都会用到,XML语言能够不断发展壮大,成为一门成功的可扩展标记语言,自有其独特的魅力。想深入学习的小伙伴可以观看本站的XML教程,掌握最新的XML学习资料。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>