文章目录
- 一、XML简介
- 二、XML 语言格式
- 三、XML 解析技术
一、XML简介
xml是可扩展标记性语言
xml
的作用:
- 可以用来保存数据
- 它可以用来做为工程或模块的配置文件
- 它可以用来做为网络数据传输的格式
二、XML 语言格式
① 文档说明
<?xml version="1.0" encoding="UTF-8"?>
说明:
-
version
:版本号 -
encoding
:xml
的文件编码 -
standalone="yes/no"
:xml
文件是否是独立的xml
文件
② 元素(标签)
xml
属性:
CDATA
(文本区域) 格式:
<![CDATA[ 这里可以把你输入的字符原样显示,不会解析xml ]]>
三、XML 解析技术
dom4j
编程步骤:
- 先加载
xml
文件创建Document
对象 - 通过
Document
对象拿到根元素对象 - 通过根元素
.elelemts
(标签名); 可以返回一个集合,这个集合里放着。所有你指定的标签名的元素对象 - 找到你想要修改、删除的子元素,进行相应在的操作
- 保存到硬盘上
/*
* 读取xml文件中的内容
*/
@Test
public void readXML() throws DocumentException {
//需要分四步操作:
//第一步,通过创建SAXReader对象。来读取xml文件,获取Document对象
//第二步,通过Document对象。拿到XML的根元素对象
//第三步,通过根元素对象。获取所有的book 标签对象
//第四步,遍历每个book标签对象。然后获取到book标签对象内的每一个元素,再通过getText() 方法拿到起始标签和结束标签之间的文本内容
//第一步,通过创建SAXReader对象。来读取xml文件,获取Document对象
SAXReader reader = new SAXReader();
Document document = reader.read("src/books.xml");
// 第二步,通过Document对象。拿到XML的根元素对象
Element root = document.getRootElement();
// 打印测试
// Element.asXML() 它将当前元素转换成为String对象
// System.out.println( root.asXML() );
//第三步,通过根元素对象。获取所有的book 标签对象
// Element.elements(标签名)它可以拿到当前元素下的指定的子元素的集合
List<Element> books = root.elements("book");
//第四步,遍历每个book标签对象。然后获取到book标签对象内的每一个元素,
for (Element book : books) {
// 测试
// System.out.println(book.asXML());
// 拿到book下面的name元素对象
Element nameElement = book.element("name");
// 拿到book下面的price元素对象
Element priceElement = book.element("price");
// 拿到book下面的author元素对象
Element authorElement = book.element("author");
// 再通过getText() 方法拿到起始标签和结束标签之间的文本内容
System.out.println("书名" + nameElement.getText() + " , 价格:"
+ priceElement.getText() + ", 作者:" + authorElement.getText());
}
}