XML语法(文档声明、元素、属性、注释、转义字符、处理指令)

论坛 期权论坛 脚本     
已经匿名di用户   2022-4-16 00:32   2364   0

一、文档声明

用来声明xml的基本属性,用来指挥解析引擎如何去解析当前xml。

通常一个xml都要包含并且只能包含一个文档声明

xml的文档必须在整个xml的最前面,在文档声明之前不能有任何内容

属性名称

说明

version

<?xml version="1.0" ?>

version是必须存在的属性,表明当前xml所遵循规范的版本

encoding

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

encoding用来指挥解析引擎在解析xml时使用的编码,一定要保证xml格式的数据在保存时使用的编码和解析时使用的编码必须一致,才不会有乱码问题。

standalone

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

standalone属性用来指明当前xml是否是一个独立的xml,默认值是yes,表明当前文档不需要依赖于其他文档,如果当前文档依赖其他文档而存在则需要将此值设置为no。

、元素

一个xml标签就是一个元素。

一个标签分为开始标签和结束标签。

在开始标签和结束标签之间可以包含文本内容,这样的文本内容叫做标签体。

如果标签的开始标签和结束标签之间不包含标签和子标签,则可以将开始标签和结束标签进行合并,这样的标签就叫做自闭标签,如:<a/>。

一个标签中也可以包含任意多个子标签,但是一定要注意标签一定要合理嵌套。

一个格式良好的xml要包含并且只能包含一个根标签,其他的标签都应该是这个标签的子孙标签。

元素命名规则

① 区分大小写,例如,<P>和<p>是两个不同的标记。

②不能以数字或标点符号或"_"开头。

③不能以xml(或XML、或Xml 等)开头。

④不能包含空格。

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

、属性

一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如:

<china capital="beijing"/>

属性的名在定义时要遵循和xml元素相同的命名规则。

属性的值需要用单引号或双引号括起来。

四、注释

<!-- 注释内容 -->

注释可以出现在xml文档的任意位置除了整个文档的最前面,不能出现在文档声明之前。注释不能嵌套注释。

五、CDATA/转义字符

(1)<![CDATA[转义的内容]]>:

当XML中一段内容不希望被解析器解析时可以使用CDATA区将其包住,当解析器遇到CDATA区时会将其内容当作文本对待,不会进行解析。

语法:<![CDATA[ 内容 ]]>

如:<name>

<![CDATA[张三</name>]]>

</name>

(2)转义字符:

原字符

写法

注释

&

&amp;

ampersand n. &的记号名称(&等于and)

<

&lt;

less than

>

&gt;

greater than

"

&quot;

quotation [kw()'te()n] :引用语

'

&apos;

apostrophe ['pstrf] :撇号

如: <name>

张三&lt;name&gt;

</name>

(3)CDATA区和转义字符的区别

①CDATA区可以成段的进行转义,而转义字符一次只能转义一个字符。

②CDATA区转义的字符可以保存数据本来的格式,只是通知解析器按文本去处理。转义字符改变了数据本身的内容,利用其他字符替代了转义字符。

六、处理指令

处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。

如果希望XML文件可以按照HTML那样显示,则就需要编写CSS文件,同时在XML文件中要引入此CSS。

<?xml-stylesheet type="text/css" href="1.css"?> 指定解析器使用1.css去渲染当前的XML数据

test.xml文件

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

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

<country>

<a>中国</a>

<b>美国</b>

</country>

my_css.css文件

a{ font-size:500px;

color:red;

}

b{ font-size:450px;

color:blue;

}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP