这个是类的一部分import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
public static void outputToFile(Document myDocument,String filePath,String encoding) {
        //setup this like outputDocument
        try {
            XMLOutputter outputter = new XMLOutputter("  ", true,encoding);            //output to a file
            FileWriter writer = new FileWriter(filePath);
            outputter.output(myDocument, writer);
            writer.close();        } catch(java.io.IOException e) {
            e.printStackTrace();
        }
    }
在这个方法里XMLOutputter outputter = new XMLOutputter("  ", true,encoding);总是不成功。。
XMLOutputter outputter = new XMLOutputter();这样就ok。但不能达到我的目的,
为什么会这样。
我的jdom是jdom1.0是不是版本有问题。
在网上看到最新版是beta8的。但我是在官方网站下的最新的。并没找到beta8版本。

解决方案 »

  1.   

    还有就是我生成的xml文件
    <?xml version="1.0" encoding="UTF-8"?>
    <電気設備><buhin><name>空調</name><suryo>2</suryo><tani>台</tani><price>100000</price><sum_prices>200000</sum_prices></buhin></電気設備>
    并没有换行。。
    我想让他变成这样:<?xml version="1.0" encoding="UTF-8"?>
    <电器>
      <buhin>
        <name>空調</name>
        <suryo>2</suryo>
        <tani>台</tani>
        <price>100000</price>
        <sum_prices>200000</sum_prices>
      </buhin>
    </电器>
    怎么控制
      

  2.   

    有两个问题:
    1、XMLOutputter outputter = new XMLOutputter("  ", true,encoding);
    可以试一试这个方法
    XMLOutputter outputter = new XMLOutputter(" ",true);//那个encoding是编码,不用管它2、Writer接口不是推荐的输出接口,可以换作OutputStream接口。
    FileOutputStream test = new FileOutputStream(new File("your fileurl"));
      

  3.   

    是你的jdom版本高的原因
    XMLOutputter的3个参数的构造方法已经没有了
    现在使用的是Format类
    Format format = Format.getCompactFormat();
    format.setEncoding("gb2312"); //设置xml文件的字符为gb2312
    format.setIndent("    ");//设置缩进
    XMLOutputter XMLOut = new XMLOutputter(format);//在元素后换行,每一层元素缩排四格
    XMLOut.output(doc, new FileOutputStream("guestbook.xml"));//输出到文件
      

  4.   

    XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat()); 
    这个也可以你看这个例子
    http://www.jspcn.net/htmlnews/11049409552961965.html