DOM4j 节点值为空时使用完整符号

DOM4j 节点值为空时 设置结束符号 而不使用缩略的形式

   <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>1.6.1</version>
    </dependency>


import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

import java.io.IOException;
import java.io.StringWriter;


public class Dom4jDemo {
    public static Document createDocument() {
        Document document = DocumentHelper.createDocument();
        Element root = document.addElement("root");
        Element category = root.addElement("category");
        Element id = category.addElement("id");
        id.addAttribute("name", "id");
        id.addText("1");

        root.addElement("empty");
        return document;
    }

    public static String xmlToString(Document document) {
        try {
            OutputFormat xmlFormat = new OutputFormat();
            // OutputFormat.createPrettyPrint();
            xmlFormat.setEncoding("UTF-8");
         
            xmlFormat.setExpandEmptyElements(true);  //设置为false 就是<name/> 设置为true 则是<name></name>


            StringWriter out = new StringWriter();
            XMLWriter xmlWriter = new XMLWriter(out, xmlFormat);
            xmlWriter.write(document);
            xmlWriter.close();

            return out.toString();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * This Demo will output:
     * <?xml version="1.0" encoding="UTF-8"?>
     * <root><category><id name="id">1</id></category><empty></empty></root>
     */
    public static void main(String[] args) {
        System.out.println(xmlToString(createDocument()));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值