Dom4j详解实例

本文介绍了Dom4j作为开源XML解析包的使用,包括如何创建Document对象,如SAXReader和DocumentHelper的方式,以及Document对象的输出、Element和Attribute的相关方法。文章主要关注实际应用中的实例,提供了解析XML数据的参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目使用dom4j解析xml格式数据,整理下常见的方法,本文不是完整的文档说明,只是实际中使用的实例!

1.Dom4j简介

DOM4J是 开源 XML 解析包,用于解析XML格式的数据。

实体类说明
Document定义了XML 文档
Element定义了XML 元素
Attribute定义了XML 属性
Text定义 XML 文本节点
XPathXPath 路径表达式
Node定义了XML节点
2.Dom4j应用
2.1 创建Document对象
  1. SAXReader创建document
//  通过url地址,获得document对象 
public static Document load(URL url) {  
    Document document = null;  
    try {  
        SAXReader saxReader = new SAXReader();  
        document = saxReader.read(url);   
    } catch (Exception ex) {  
        ex.printStackTrace();  
    }  
    return document;  
}

//  通过文件路径,获得document对象 
public static Document load(String path) {  
    Document document = null;  
    try {  
        SAXReader saxReader = new SAXReader();  
        document = saxReader.read(path);   
    } catch (Exception ex) {  
        ex.printStackTrace();  
    }  
    return document;  
}
  1. DocumentHelper创建document
    // 创建空的document
    public static Document create() {
        Document document = DocumentHelper.createDocument();
        return document;
    }

    // 文本生成document
    public static Document create(String contentXml) {
        Document document = null;
        try {
            document = DocumentHelper.parseText(contentXml);
        } catch (DocumentException e) {
            e.printStackTrace();
        }
        return document;
    }
    
2.2 document 输出
 // document写入指定文件
public static void doc2XmlFile(Document document, String filename) {
        try {
            OutputFormat format = OutputFormat.createPrettyPrint();
            format.setEncoding("UTF-8");
            XMLWriter writer = new XMLWriter(new FileOutputStream(filename), format);
            writer.write(document);
            writer.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    } 

// 转换document对象为字符串
public static String transDocument2Text(Document document, String encoding) throws Exception {
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setEncoding(encoding);
        StringWriter stringWriter = new StringWriter();
        XMLWriter writer = new XMLWriter(stringWriter, format);
        writer.setOutputStream(new FileOutputStream("D:\\Y0705.xml"));
        writer.write(document);
        writer.flush();
        return stringWriter.toString();
    }

Dom4j通过XMLWriter将Document对象表示的XML树写入指定的文件。
使用OutputFormat格式对象指定写入的风格和编码方法。
调用OutputFormat.createPrettyPrint()方法可以获得的pretty print风格的格式对象。
调用OutputFormat.setEncoding()方法可以指定XML文件的编码方式。

2.3 Document方法
方法名称描述信息
addElement()创建Element元素
remove()移除元素
selectNodes()指定xpath下的元素或属性
asXML()文档或节点xml转换字符串
2.4 Element 方法
方法名称描述信息
getName()元素的名称
getText()元素所含有的text内容,如果内容为空则返回一个空字符串
setText()给元素设置text内容
add()元素的添加子元素
remove()元素的移除子元素
attribute()获取元素的指定属性
attributeIterator()元素属性的iterator,其中每个元素都是Attribute对象
attributeValue()元素的某个指定属性所含的值
addAttribute()元素的添加属性对(名称和值)
elementIterator()元素的子元素的iterator,其中每个元素都是Element对象
element()元素的某个指定的子元素
elementText()元素的某个指定的子元素中的内容
element()元素的某个指定的子元素
getParent()元素的父元素
addComment()元素添加注释信息
asXML()元素xml转换成字符串
selectNodes()获取指定路径下的xml集合
selectSingleNode()获取指定路径下的单xml
2.4 Attribute 方法
方法名称描述信息
getName()获取属性名
getValue()获取属性值
getText()获取属性值,底层调用的getValue()方法
setValue()设置属性值
setText()设置属性值,底层调用的setValue()方法

至此,Dom4j常用的方法和操作整理完毕,以后有需要再修改增加!











评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值