请教一个Jdom的问题
用jdom输出xml文档,但是输出的xml却没有<?xml version="1.0" encoding="GB2312"?>
在另外的地方用SAXBuilder build的时候就会出UFTException 请问如何解决
生成xml部分代码:
Format f = Format.getCompactFormat();
f.setEncoding("gb2312");
f.setIndent(" ");
XMLOutputter xo = new XMLOutputter( f );
...
xo.output( xxx, new FileWriter(xxx) );
读取xml的部分代码
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build( xmlFile );
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
这句会扔出异常,因为没有<?xml version="1.0" encoding="GB2312"?>
问题点数:0、回复次数:7Top
1 楼lhz_9712(晃晃悠悠)回复于 2004-12-01 16:59:36 得分 0
俺的一个测试程序,没发现你说的问题,是有开头的
---------------------------------------------------
import java.io.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
public class JDOMsax {
public void saxDoc(File file, OutputStream out) throws IOException, JDOMException
{
SAXBuilder builder = new SAXBuilder("org.apache.xerces.parsers.SAXParser", false);
// DOMBuilder builder = new DOMBuilder("org.jdom.adapters.XercesDOMAdapter", true);
Document Doc = builder.build(file);
XMLOutputter XMLOut = new XMLOutputter();
XMLOut.output(Doc, out);
}
public static void main(String[] args)
{
try
{
JDOMsax ins = new JDOMsax();
System.out.println("=======================================");
ins.saxDoc(new File("d:/xml/stu.xml"), System.out);
System.out.println("=======================================");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}Top
2 楼voodoo_man(潇湘夜雨)回复于 2004-12-01 17:09:32 得分 0
谁知道为什么Top
3 楼umljsp(夜未央,天未白)回复于 2004-12-01 17:13:42 得分 0
不晓得你的Format是从哪里获得的?
试试我的:
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
Format format = outputter.getFormat();
format.setEncoding("GB2312");
outputter.setFormat(format);Top
4 楼voodoo_man(潇湘夜雨)回复于 2004-12-02 11:04:13 得分 0
还是不行,是不是这个版本的jdom有问题Top
5 楼123xxx(香克斯)回复于 2004-12-02 11:14:22 得分 0
这是我的代码,用的是jdom1.0,没出现楼主那种问题
Document doc = new Document();
Format format = Format.getPrettyFormat();
format.setEncoding("gb2312");
format.setIndent(" ");
XMLOutputter outp = new XMLOutputter(format);
outp.output(doc, new FileOutputStream("1.xml"));Top
6 楼lazy_du(红楼梦魇)回复于 2004-12-02 17:50:54 得分 0
能换的话就不要用1.0了吧Top
7 楼yz790724(想想)回复于 2004-12-02 18:26:50 得分 0
markTop




