dom4j的.jar文件简介、下载、作用和使用方法
一、dom4j引用百度百科的简介
1、dom4j引用百度百科的简介
dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在IBM developerWorks上面还可以找到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,所以可以知道dom4j无论在哪个方面都是非常出色的。如今可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这已经是必须使用的jar包, Hibernate也用它来读写配置文件。
2、简介总结
dom4j就是一个开源的、简易的可以帮助java解析xml文件的api 。
二、dom4j的jar包怎么下载
1、dom4j官网下载
地址:https://dom4j.github.io
这3个随意下载哪个都可以,我下载的第二个。点击Dodnload下拉框的第一个选项 ,dom4j-2.0.3.jar就可以了。
2、有时候官网不好用,我直接把jar放在我的网盘上了
地址: https://pan.baidu.com/s/1X5JDogC03wyyor8YiByc0g
提取码: rop8
三、dom4j怎么使用
1、使用idea创建一个web工程
在src下面创建一个lib文件夹把3个jar包放进去,如图所示。
然后把3个jar包添加到library 中
在xml文件夹下面创建一个xml
下面展示一些 xml代码
。
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book sn="SN123456">
<name>辟邪剑谱</name>
<price>19.9</price>
<author>班主任</author>
</book>
<book sn="SN123456">
<name>降龙十八掌</name>
<price>9.9</price>
<author>乔峰</author>
</book>
</books>
2、创建一个book的实体类
1、创建一个dom4j的测试类 ,使用@Test注解,另外2个jar是来帮助单元测试用的。
代码我直接贴在下面:
package com.cn.pojo;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;
import java.math.BigDecimal;
import java.util.List;
public class Dom4jTest {
@Test
public void test() throws DocumentException {
//创建一个SasReader输入流,去读取xml配置文件,生成Document对象
SAXReader saxReader=new SAXReader();
Document document = saxReader.read("src/xml/book.xml");
System.out.println(document);
}
/**
* 读取book.xml 文件生成Book类
*/
@Test
public void test2() throws DocumentException {
//1、读取book.xml文件
SAXReader reader=new SAXReader();
Document document=reader.read("src/xml/book.xml");
//2、 通过Document对象获取根元素
Element rootElement = document.getRootElement();
System.out.println(rootElement);
//3、通过根元素获取book标签对象
//element()和elements()都是通过标签名查找子元素
List<Element> books = rootElement.elements("book");
//4、遍历,处理每个book标签转换为book类
for(Element book :books){
System.out.println(book.asXML());
Element nameElement=book.element("name");
System.out.println(nameElement.asXML());
//getText();可以获取标签中的文本内容
String nametext=nameElement.getText();
System.out.println(nametext);
//直接获取指定标签名的文本内容
String priceText=book.elementText("price");
String authorText=book.elementText("author");
System.out.println("直接获取price标签的文本内容:"+priceText);
String snValue=book.attributeValue("sn");
BigDecimal priceTextBd=new BigDecimal(priceText);
System.out.println(new Book(snValue,nametext,priceTextBd,authorText));
}
}
}
2、完成dom4j对xml文件的解析。