Java——JDOM方式生成XML

使用JDOM方式生成XML文件的步骤如下:

  1. 创建根节点
  2. 创建Document对象,并将根节点传入其构造方法中
  3. 创建子节点,使用setAttribute()方法为其设置属性,使用setText()方法为其设置节点内容
  4. 使用父节点的setContent()方法为其设置子节点
  5. 创建XMLOutputter对象
  6. 使用XMLOutputter对象的output()方法将Document转换成XML文件

下面给出代码:

package util;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.jdom2.CDATA;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.output.EscapeStrategy;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;

public class XMLUtils {

    public void createXMLByJDOM(File dest) {
        // 创建根节点
        Element rss = new Element("rss");
        // 为根节点设置属性
        rss.setAttribute("version", "2.0");
        // 创建Document对象,并为其设置根节点
        Document document = new Document(rss);

        Element channel = new Element("channel");
        Element title = new Element("title");

//      设置节点内容,使用此方法会自动对特殊符号进行转义
//      title.setText("<![CDATA[上海移动互联网产业促进中心正式揭牌 ]]>");


//      设置CDATA类型的节点内容,使用此方法会自动在内容两边加上CDATA的格式
        CDATA cdata = new CDATA("上海移动互联网产业促进中心正式揭牌");
        title.setContent(cdata);

        channel.setContent(title);
        rss.setContent(channel);

        // 创建XMLOutputter对象
        XMLOutputter outputter = new XMLOutputter();
        try {

//          方法一:创建Format对象(自动缩进、换行)
            Format format = Format.getPrettyFormat();
//          为XMLOutputter设置Format对象
            outputter.setFormat(format);

//          方法二:创建Format对象,并设置其换行
//          Format format = Format.getCompactFormat();
//          format.setIndent("");

            // 将Document转换成XML
            outputter.output(document, new FileOutputStream(dest));
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

在使用JDOM生成XML时,可自行指定其输出格式,有两种方法可选。

方法一:

//方法一:创建Format对象(自动缩进、换行)
Format format = Format.getPrettyFormat();
//为XMLOutputter设置Format对象
outputter.setFormat(format);

方法二:

//方法二:创建Format对象,并设置其换行
Format format = Format.getCompactFormat();
format.setIndent("");

JDOM也会自动将特殊符号进行转义。若内容为CDATA数据,可创建一个CDATA对象,再将该对象设为子节点即可。这样,特殊符号不会进行自动转义。

//设置CDATA类型的节点内容,使用此方法会自动在内容两边加上CDATA的格式
CDATA cdata = new CDATA("上海移动互联网产业促进中心正式揭牌");
title.setContent(cdata);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值