一、XML简介
①什么是xml
xml是可扩展标记性语言
②xml的作用
1、可以用来保存数据。
2、它可以用来做为工程或模块的配置文件。
3、它可以用来做为网络数据传输的格式。
二、XML语言
①文档说明
<?xml version="1.0" encoding="UTF-8"?>
属性
version 是版本号
encoding 是xml的文件编码
standalone=“yes/no” 表示这个xml文件是否是独立的xml文件
<注>这个<?xml 要连在一起写
②元素(标签)
1)什么是xml元素?
2)xml属性
…文本区域(CDATA区)
CDATA 格式:
<![CDATA[ 这里可以把你输入的字符原样显示,不会解析xml ]]>
三、XML解析技术
dom4j解析技术
1.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());
}
}