05-xml
1.XML 简介
什么是 xml?
xml 是可扩展的标记性语言。
xml 的作用?
2、xml 语法
3.1、文档声明
3.2、xml 注释
html 和XML 注释 一样 : < !-- html 注释 -->
3.3、元素(标签)
1)什么是 xml 元素
2)XML 命名规则
- 2.1)名称可以含字母、数字以及其他的字符
- 2.2)名称不能以数字或者标点符号开始
- 2.3)名称不能以字符 “xml”(或者 XML、Xml)开始 (它是可以的)
2.4)名称不能包含空格
3)xml 中的元素(标签)也 分成 单标签和双标签:
3.4、xml 属性
1)属性必须使用引号引起来,不引会报错示例代码
3.5、语法规则:
3.5.1)所有 XML 元素都须有关闭标签(也就是闭合)
3.5.2)XML 标签对大小写敏感
3.5.3)XML 必须正确地嵌套
3.5.4)XML 文档必须有根元素
3.5.5)XML 的属性值须加引号
3.5.6)XML 中的特殊字符
3.5.7)文本区域(CDATA 区)
2、xml 解析技术介绍
3、dom4j 解析技术(重点*****)
3.1、Dom4j 类库的使用
解压后:
3.2、dom4j 目录的介绍:
1)docs 是 文 档 目 录
2)如何查 Dom4j 的文档
3)Dom4j 快速入门
2)lib 目录
3)src 目录是第三方类库的源码目录:
3.3、dom4j 编程步骤
3.4、获取 document 对象
复制jar包到创建的lib路径,然后添加到类路径
待解析的xml文件
Book类:
读取books.xml文件生成book类
package com.atguigu.pojo;
import org.dom4j.Document;
import org.dom4j.io.SAXReader;
import org.junit.Test;
public class Dom4jTest {
@Test
public void test1() throws Exception {
// 第一步,通过创建 SAXReader 对象。来读取 xml 文件,获取 Document 对象
SAXReader saxReader = new SAXReader();
Document document = saxReader.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());
}
}
}
执行结果: