1.什么是XML
- XML可扩展标记语言
- 以
.xml
结尾的都是XML文件
2.XML的用途
数据格式(已经被json取代)
配置文件(重点)
保存数据 (小型数据库)
3.XML的用法
- 属性标签比子元素更容易被查找
- HTML 展示数据
- XML 保存数据
XML语法
1.文档元素
<?xml version="1.0" encoding="utf-8"?> //每个XML文件都以文档元素开头
2.根元素 根标签- 标签成对出现
- 开始标签
<标签名>
- 结束标签
</标签名>
3.标签名规则
- 字母,数字,下划线以及一些可见字符
- 不允许以数字开头,建议不要以_开头
- 不允许出现空格
- 大小写敏感
4.实体
- 使用实体:
&实体名;
- 预定义实体:
实体引用 | ||
---|---|---|
< | < | 小于 |
> | > | 大于 |
& | & | 和号 |
' | ‘ | 单引号 |
" | “ | 引号 |
4.自定义实体:
1.格式: <!ENTITY 实体名 "值">
<!DOCTYPE 根标签名字>
5.PCDATA 能被XML解析器解析的内容
CDATA 不能被XML解析器解析的内容,内容原样输出
CDATA格式:<![CDATA[....原样输出...]]>
6.处理指令
格式:<?xml-stylesheet href="***.css"?>
7.命名空间
1.添加前缀 <a:table> </a:table>
2.命名空间 <table xmlns="URI"> </table>
<a:table xmlns:a="URI"> </a:table>
5. XML约束
1. DTD *.dtd
元素约束格式:<!ELEMENT 元素名 (内容模式)>
属性约束格式:<!ELEMENT 元素名 属性名 属性类型 属性默认值>
2.
6.XML解析
1.DOM解析: jar --- DOM4J
DOM解析xml文件后会生成一个Docurment对象(树结构)
特点:
1. 将XML文件的所有内容一次性加载进内存中
2. 只适合解析小文件,解析大文件可能会造成内存不足
3. 单可以修改XML文件 增加删除
4. 产生一个新的XML文件
2.Sax解析:
特点:基于事件处理模型
1.不可以修改XML文件
2.边读边解析
步骤:SAX解析器对象 SAXParserFactory
SAXParse
parse