XML指可扩展标记语言,被设计用来传输和存储数据
- 为什么需要XML
- 两个程序间进行数据通信
- 做一个配置文件的功能
- 解决程序间数据传输的问题
- 可以充当小型的数据库
一、创建第一个xml文件
- 在idea中创建student.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<students>
<student>
<name>tom</name>
<age>12</age>
<gender>男</gender>
</student>
</students>
#xml:表示该文件的类型xml
#version="1.0":版本
#encoding="UTF-8" 文件编码
#students 根元素
#<student></student> 表示根元素的子元素,可以有多个
二、xml语法
元素语法要求
- 每个XML文档必须有且只有一个根元素
- 根元素是一个完全包括文档中其他所有元素的元素
- 根元素的起始标记要放在所有其他元素的起始标记之前
- 根元素的结束标记要放在所有其他元素标记之后
- 一个标签中可以嵌套若干子标签,不允许交叉嵌套
XML元素命名规则
- 区分大小写
- 不能以数字开头
- 不能包含空格
- 名称中间不能包含冒号
- 如果标签单词需要间隔,建议使用下划线
属性
- 属性值用双引号或单引号分割,如果属性中有('),用(")分隔
- 一个元素可以有多个属性
- 特定的属性名称在同一个元素标记中只能出现一次
- 属性值不能包括&字符
CDATA节
- 当内容不想被解析引擎执行时,而是当做原始内容处理(即当做普通文本),可以使用CDATA包起来,CDATA节中的所有字符都会被当做简单文本,而不是XML标记
- 可以输入任意字符,除]]>外
- 不能嵌套
<![CDATA[
这里写输入的文本
]]>
三、DOM4j
XML解析技术原理
- 不管是HTML文件还是XML文件都是标记型文档,都可以使用dom技术来解析
- document对象表示的是整个文档(可以是XML文档,也可以是HTML文档)
DOM4j介绍
- DOM4j是一个简单、灵活的开放源代码的库,用于解析/处理XML文件。
- DOM4j使用接口和抽象基类
- DOM4j是一个非常优秀的Java XML API,具有性能优异、功能强大的和极易使用的特点
- 使用DOM4j开发,需要下载DOM4j相应的jar文件
下载使用
- 下载地址:https://dom4j.github.io/
- 下载后,解压压缩包,引入jar包
获取document对象的方式
- 读取XML文件,获得document对象
SAXReader reader = new SAXReader(); //创建一个解析器
Document document = reader.read(new File("src/input.xml"));//XML Document
- 解析XML形式的文本,得到document对象
String text = "<members></members>";
Document document = DocumentHelper.parseText(text);
- 主动创建document对象
Document document = DocumentHelper.createDocument();
Element root = document.addElement("members");