一、XML的概述
1、XML是可扩展标记语言。
2、XML的作用:描述数据
3、XML在企业开发中,经常用XML作为配置文件。
二、XML的语法(重点)
1、重要:xml声明,必须出现在文档的第一行。
<?xml version="1.0" encoding="UTF-8"?>
version:属性。取值,1.0.当前使用的XML的版本
encoding:当前xml文件使用的编码。默认是UTF-8
2、CDATA区
CDATA:Character Data字符数据
作用:把标签当做普通字符对待。
3、转义字符:(记住)
三、XML的约束:DTD(看懂DTD即可)
1、有效的XML,符合约束的xml文件
2、约束技术:DTD(简单,面临着淘汰) Schema
3、DTD:
约定了xml文件中可以出现的元素、属性等,及他们的顺序和个数。
DTD约束,文件的扩展名.dtd
4、编写DTD的方式:
方式一:dtd内容和xml都在xml文件中
直接把dtd的内容写在xml文件中。
比如:
<?xml version=”1.0” encoding=”gbk”?>
<!DOCTYPE 书架[ 蓝色的是根元素
<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)> 红色部分就是dtd的内容
]>
<书架>
</书架>
方式二:dtd作为单独的文件存在(推荐)。文件扩展名.dtd,文件必须用UTF-8编码保存到磁盘上。
(重点)如何把外部的dtd引入到xml中。
l dtd文件在本地:
<!DOCTYPE 根元素 SYSTEM “dtd文件的地址”>
l dtd文件在外地(网上):
<!DOCTYPE 根元素 PUBLIC “dtd的名称” “dtd的路径”>
验证:可以使用xmlDoc
目标:看懂dtd,根据dtd写出你的xml文件来。
四、XML的解析方式概述
1、解析方式:(W3C)
l DOM:Document Object Model文档对象模型
Node:节点
Document:代表整棵树
Element:元素
Attr:属性(只有元素才有属性)
Text:文本
有点:增删改查方便,简单
缺点:需要读取整个xml才能构建DOM树。对于比较大的xml,容易导致内存溢出。
l SAX:Simpl API for Xml
五、利用JAXP开发包:DOM解析
1、常用的XML解析器:
JAXP、Dom4J、JDom
2、JAXP:
存在JDK中,SUN公司提供。
Java API for XML Processing=JAXP
由以下包:
org.w3c.dom:标准和规范(学习规范)
javax.xml:具体的实现