XML
XML是什么?
(1)XML,Extensible Markup Language,可扩展标记语言,由W3C组织。
(2)XML的主要用途是用于存储数据,不同于HTML的主要目的是显示数据
(3)xml将数据包装成一定格式,有结构性,能够展现出数据间的关系,也便于维护,所以常见于用作配置文件
举例说明xml文件是如何结构化存储数据的
以下是一个简单的xml文件:
- <?xml version="1.0" encoding="UTF-8" ?>
-
- <frult>
- <name>apple</name>
- <price>15</price>
- </fruit>
面向对象思想中,纷杂的现实世界,可以被抽象为无数不同的Object,Object又包含有属性。Object之间的关系,Object内部属性的变化,只要量足够,就能模拟这个
变化万千的世界。
xml文档中将开始标签到对应的结束标签之间的内容表示为一个元素包含的内容,上面的xml文档中表示了一个fruit元素:
* 尖括号里的"fruit"表示元素名,<fruit>表示开始标签,</fruit>表示结束标签,开始标签到结束标签这一段就表示fruit这个元素的内容
* 子元素可以作为父元素的属性来使用,这和父元素在标签内定义属性效果是一样的,比如:
- <?xml version="1.0" encoding="UTF-8" ?>
-
- <fruit name="apple" price="15"></fruit>
- <?xml version="1.0" encoding="UTF-8" ?>
-
- <fruit>
- <name>apple</name>
- <price>15</price>
- </fruit>
上面这两个xml文档存储的信息是一样的。
XML的版本
有1.0和1.1两个版本,通常用的是1.0版本,因为1.1版本不向下兼容
XML的组成
文档声明,元素,属性,注释,特殊字符,CDATA区,PI指令
(前四个是最常见的)
XML语法
要编写一个xml文件,首先在文档的第一列开始写一个文档声明:
- <?xml version="1.0" encoding="UTF-8">
文档声明必须写在第一行第一列,否则解析器将无法将文件识别为xml文档
文档声明中的属性:
属性 |
含义 |
属性值 |
version |
规定文档版本 |
1.0 1.1 |
encoding |
规定文档编码 |
UTF-8 GBK ISO8859-1等编码 |
standalone |
规定是否需要依赖其他文件 |
yes no |
xml定义元素需要遵循的规则:
(1)一个xml文件只能有一个根标签
(2)开始标签必须有对应的结束标签,即有始有终,标签中可以包含标签,但应该合理的嵌套。
这是合理的嵌套:
- <fruit><name></name></fruit>
这是错误的嵌套:
- <fruit><name></fruit></name>
(3)标签命名时,应该注意:
(i)大小写敏感
(ii)不能以数字或下划线开头
(iii)不能包含空格,换行和冒号
(4)在标签中定义属性时,可以定义多个属性,但属性不能重名,属性名和属性值之间用=连接,属性值用引号包起来(单双引号皆可)
xml中的注释:<!-- 注释内容 -->
* 注意,注释不能嵌套
特殊字符要在xml中显示,需要经过转义,用对应的转义字符来代替
特殊字符 |
对应的转义字符 |
& |
& |
< |
< |
> |
> |
" |
" |
' |
&apos |
CDATA区:CDATA区主要针对某一块内容频繁用到特殊字符的情况,因为CDATA区中的特殊字符不需要转义
语法:<![CDATA[内容]]>
PI指令:又可以叫处理指令,告诉程序如何解析一个xml文档
常见的是引入样式:
- <?xml-stylesheet type="text/css" href="hello.css" ?>
以上就是一个PI指令,能够为整个xml文档引入css样式,如同html那样
* 注意,设置样式只对英文标签名起作用,对中文标签名并不起作用