XML
1.xml简介
xml用途
xml主要功能,是为了存储数据
xml是w3c组织发布的技术
xml有两个版本1.0 1.1(基本都是使用1.0版本)
2.xml的应用
- 不同的系统之间传输数据
- 用来表示生活中有关的数据
- 经常用在文件配置
3.xml的语法
(1) xml的文档声明(**)
创建一个文件 后缀名是.xml
如果写xml,第一步必须要有一个文档声明(写了文档声明之后,表示写xml文件的内容)
<?xml version="1.0" encoding="gbk"?>
文档声明必须写在第一行第一列
xml的中文乱码解决问题
1.画图分析乱码问题
2.保存时候的编码和设置打开时候的编码一致,不会出现乱码
(2)定义元素(标签)
(3)定义属性
(4)注释
(5)特殊字符
(6)CDATA区(区域转换)
(7)PI指令
4.xml的元素(标签)定义
标签定义有开始必须要有结束:<person></person>
标签没有内容,可以在标签内结束;<aa/>
标签可以嵌套,必须要合理嵌套
在xml中把空格和换行都当成内容来解析
xml标签可以是中文
xml中标签的名称规则
(1)xml代码区分大小写
(2)xml的标签不能以数字和下划线开头
5.xml中属性的定义
html是标记型文档,可以有属性
xml也是标记型文档,可以有属性
<person id1="aaa" id2="bbb"></person>
属性定义的要求
(1)一个标签上可以有多个属性
(2)属性名称不能相同
(3)属性名称和属性值之间使用=,属性值使用引号包起来(可以是单引号,也可以是双引号)
(4)xml属性的名称规范和元素名称规范一致
6.xml中的注释
写法:
注意的地方(注释不能嵌套)
7.xml中的特殊字符
如果想要在xml中现在a<b,不能正常显示,因为把<当作标签
如果就像要显示,需要对特殊字符<进行转义
< < > >
8.xml的约束
为什么需要约束?
比如现在定义一个person的xml的文件,只想要这个文件里面保存人的信息,比如name,age等,但是写了一个标签<猫>,发现可以正常显示,因为符合语法规范。但是猫肯定不是人的信息,xml的标签是自定义的,需要技术来规定xml中只能出现的元素,这个时候需要约束。
xml的约束的技术:dtd约束和schema约束
9.dtd的快速入门
创建一个文件 后缀名.dtd
步骤:
(1)看xml中有多少个元素,有几个元素,在dtd文件中写几个<!ELEMENT>
(2)判断元素是简单元素还是复杂元素 - 复杂元素:有子元素的元素
<!ELEMENT 元素名称(子元素)> - 简单元素:没有子元素
<!ELEMENT元素名称(#PCDARA)>
(3)需要在xml文件中引入dtd文件
<!DOCTYPE根元素名称 SYSTEM"dtd文件的路径">
打开xml文件使用浏览器打开的,浏览器只负责校验xml的语法,不负责校验约束
如果想要校验xml的约束,需要使用工具(myeclipse工具)
使用dtd定义元素
语法:<!ELEMENT 元素名 约束>
简单元素:没有子元素的元素
<!ELEMENT name(#PCDATA)>)
(#PCDATA):约束name是字符串类型
EMPTY:元素为空(没有内容)
<sex></sex>
ANY:任意
复杂元素:
<!ELEMENT person(name,age,sex,school)>
子元素只能出现一次
<!ELEMENT 元素名称(子元素)>
表示子元素出现的次数
+:表示一次或者多次
?:表示零次或者一次
*:表示零次或者多次
子元素直接使用逗号进行隔开,
**表示元素出现的顺序
子元素直接使用|隔开
**表示元素只能出现其中的任意一个
jaxp
10.使用jaxp添加节点
在第一个p1下面(末尾)添加<sex>nv</sex>
使用jaxp修改节点
修改第一个p1下面的sex内容是nan
使用jaxp删除节点
删除<sex>nan</sex>节点
使用jaxp遍历节点
把xml中的所有元素名称打印出来