XML
EXtensible Markup Language
可扩展标记语言
语法
<xxx></xxx>
<xxx/>
与HTML的区别
1、两种不同的语言
2、HTML可以被浏览器进行解析(运行),XML不可以被浏览器进行解析(运行)
3、没有任何一款软件或环境可以运行XML文件(XML没有办法被运行的)
但是可以被相关的程序进行解析(获取结构)
作用
1、用于保存数据
2、用于配置文件
datasource.properties
3、可以配置关系
如何创建一个XML文件
1、创建一个文本文件,扩展名.xml结尾
2、第一行写入xml的版本和编码格式
<?xml version="1.0" encoding="UTF-8"?>
3、XML 必须由一个root节点(根节点),有且仅有一个
4、所有的其它节点,全部定义在根节点中
5、可以定义属性、文本
6、xml文件是大小写敏感的文件
7、所有的标签都必须是关闭的<xxx></xxx> <xxxx/>
---结构良好的xml
---指定约束文件(DTD schema) 合法的xml
xml的特殊元素
实体
< < 小于
> > 大于
& & 和号
' ' 省略号
" " 引号
纯文本
<![CDATA[select * from t_user where id < 10;]]>
XML解析
JDK内置的xml解析器
SAX
基于事件的解析
DOM
底层 基于SAX解析
对xml文件进行整体的读取和处理,通过SAX解析成树
并将内容存放在内存中,DOM对内存中的树进行读取
基于树形结构的解析
三方的xml解析器
DOM4J
dom4j.jar
底层 SAX解析
基于树形结构的解析
JDOM
jdom.jar
底层 基于DOM解析
基于树形结构的解析
digester
核心包
commons-digester.jar
依赖包
commons-beanutils.jar
commons-collections.jar
commons-lang.jar
commons-logging.jar
log4j.jar
基于JAVA的面向对象特征的解析器