XML
可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。
一.版本申明
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <!-- 需要有版本声明 ->
<!--
注释使用与html中风格一致
<?:XML声明的开始字符
xml:表示当前是xml文件
version:xml的版本;目前只有1.0,国际标准
standalone:表示xml文件是否独立;
如果值是"yes",表示xml是独立存在的,不能引入外部的规范文件;
如果值是"no",表示xml不是独立存在的,可以引入外部的规范文件;
默认是"yes"
encoding:指定文件的所使用的字符编码;默认"utf-8",注意文本文件保存时候默认的编码格式是ANSI,需用记 事本把它手动改为UTF-8保存。
?>:XML声明的结束字符
-->
二.语法规范
1.需要有版本声明
2.必须有且仅有一个根元素
3.严格区分大小写
4.属性值用引号(双引号或单引号) :等号分开的名称-值对;在一个元素上,相同的属性只能出现一次
5.标记成对;
6.空标记关闭;
7.元素正确嵌套。
三.元素规则
1.名称中可以包含字母、数字或者其他可见字符;
2.名称不能以数字开头;
3.不能以 XML/xml/Xml…开头;
4.名称中不能含空格;
5.名称中不能含冒号(注:冒号留给命名空间使用)
四.实体
1.内置的 5 种实体
实体 符号
< <
> >
& &
" "
’ ’
2.自定义实体
<!DOCTYPE 根元素[
<!ENTITY 实体名 "实体内容">
]>
使用已定义的实体:&实体名;
五.文档对象申明
文档类型定义——DOCTYPE,文档类型声明,紧跟 XML 声明之后,包含所有实体声明
六.组成
元素
属性
实体
PCDATA:是被解析的字符数据(parsed character data)。
CDATA:用于把整段文本解释为纯字符数据而不是标记的情况。如包含大量的<、>、&、或者"字符。
CDATA 节中的所有字符都会被当做元素字符数据的常量部分,而不是 XML 标记, 可以输入除]]>外任意字符,不能嵌套。
语法:<![CDATA[ ...... ]]>
七.实例
<!-- 定义实体 -->
<!DOCTYPE shsxt[
<!--实体声明 -->
<!ENTITY uname "admin">
<!ENTITY gender "男">
]>
<!-- 根元素 -->
<shsxt>
<teacher>Hello
<!-- 标签成对出现 ,属性值用引号-->
<name age="18">Itachi</name>
<gender>man</gender>
</teacher>
<teacher age="19">
<name>李思</name>
<gender>女</gender>
</teacher>
<!-- 使用实体 -->
<teacher>
<name>&uname;</name>
<gender>&gender;</gender>
</teacher>
<!-- CDATA -->
<desc><![CDATA[战国时期,芈月是楚威王最宠爱的小公主,但<desc>在楚威王
死后生活一落千丈,母亲向氏被楚威后逐出宫,芈月和弟弟芈戎躲过了一次次灾难和危机。
芈月与楚公子黄歇青梅竹马,真心相爱,但被作为嫡公主芈姝的陪嫁媵侍远嫁秦国。芈姝当
上了秦国的王后,芈月不得已成为宠妃...]]>
</desc>
</shsxt>