第1章 XML
1.1 概念
可扩展标记语言
1.2 作用
1. 存放数据,当做数据库来用
2. 当做配置文件来使用,以后最多的应用场景
3. 远程调用的时候传输数据。一般都用json来传输
1.3 文档声明
固定写法,只能写在第一行第一列
<?xml version=”1.0” encoding=”UTF-8”?>
1.4 元素
元素 element
<bean></bean>
1. 元素是XML文档中最重要的组成部分,
2. 普通元素的结构开始标签、元素体、结束标签组成。例如:<hello>大家好</hello>
3. 元素体:元素体可以是元素,也可以是文本,例如:<b><a>你好</a></b>
4. 空元素:空元素只有开始标签,而没有结束标签,但元素必须自己闭合,例如:<c/>
5. 元素命名:
a) 区分大小写
b) 不能使用空格,不能使用冒号:
c) 不建议以XML、xml、Xml开头
6. 格式化良好的XML文档,必须只有一个根元素。
l 属性attribute
<bean id=”” className=””>
1. 属性是元素的一部分,它必须出现在元素的开始标签中
2. 属性的定义格式:属性名=属性值,其中属性值必须使用单引或双引
3. 一个元素可以有0~N个属性,但一个元素中不能出现同名属性
4. 属性名不能使用空格、冒号等特殊字符,且必须以字母开头
1.5 属性
1.6 注释
<!--注释内容 -->
1.7 转义字符
XML里面的特殊字符是需要转义的
| OR
& AND
1.8 CDATA区
如果在一个xml中出现大量的转义字符,看起来非常的费劲,并且写起来也费劲,所有就有了CDATA区。CDATA区里面的特殊字符,是不需要转义的
格式:
<![CDATA [
内容
]]>
1.9 XML约束
作用:限定xml标签,属性的格式。
1.10 DTD约束
l 符号
, 代表一定是按指定顺序来
| 选择,只能多选一
* 用来修饰次数,代表任意次
+ 至少一次,一次或多次
? 零次或一次
l 文档声明
内部DTD:嵌入到xml文件中的dtd,只对当前xml有效
外部DTD-本地DTD:比如<!DOCTYPE beans SYSTEM "bean.dtd">
外部DTD-公共DTD:一般都是由框架提供。以后用的最多
l 元素声明
l 属性声明
1.11 Schema
另外一种约束,他比dtd更加强大。Schema约束本身就是一个xml,但是他的后缀名是xsd
l 命名空间
默认命名空间:<根标签 xmlns=”名称”></根标签>
显示命名空间:<根标签 xmlns:别名=”名称”></根标签>
l 使用schema约束要有两个步骤
1. 引入命名空间
2. 指明命名空间的位置
1.12 XML解析
解析就是拿到XML文档中的内容
解析方式:
1. DOM:直接把整个XML文档加载到内存中。 比如DOM4J
优点:保留XML文档结构
缺点:文件过大,会内存溢出
2. sax:逐行加载。
优点:速度快
缺点:读一行就释放
3. pull:安卓内置