dom4j xmlwriter如何去掉头文件也就是版本信息
答案:1 悬赏:20 手机版
解决时间 2021-11-24 08:23
- 提问者网友:流星是天使的眼泪
- 2021-11-23 09:53
dom4j xmlwriter如何去掉头文件也就是版本信息
最佳答案
- 五星知识达人网友:长青诗
- 2021-11-23 10:11
设置OutputFormat 即可:
Writer writer = new StringWriter();
OutputFormat format = new OutputFormat();
format.setSuppressDeclaration(true); //注意这句
XMLWriter xmlWriter = new XMLWriter(writer,format); //注意这句
Document d = new DOMDocument();
Element ele = new DOMElement("hello");
d.add(ele);
xmlWriter.write(d);
System.out.println(writer.toString());追问发现不是头文件的问题,目前是这个问题。
就是我的文件是以utf-8保存的,当我解析xml并写回文件的时候,如果带有中文,不会出现乱码,但是解析不出图形,必须手动的去文件那重新保存下,就可以解析到了,这是为什么追答估计是保存流的文件的编码的问题,试试
Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename), "UTF-8"));追问应该是bom头的问题,我就奇怪了,人家都是去掉bom头,而我这需要加上 而dom4j是不会加入的,那怎么办呢追答你保存文件时要加上编码,在读取的时候也要用那个编码来读取。dom4j不加入,你在保存成文件时自己加入就好了,只要编码对了就行。你可以用UltraEdit的16进制方式看看你保存的文件的前两个字节和你重新保存后的文件 的前两个字节有什么差别,再找办法解决。
Writer writer = new StringWriter();
OutputFormat format = new OutputFormat();
format.setSuppressDeclaration(true); //注意这句
XMLWriter xmlWriter = new XMLWriter(writer,format); //注意这句
Document d = new DOMDocument();
Element ele = new DOMElement("hello");
d.add(ele);
xmlWriter.write(d);
System.out.println(writer.toString());追问发现不是头文件的问题,目前是这个问题。
就是我的文件是以utf-8保存的,当我解析xml并写回文件的时候,如果带有中文,不会出现乱码,但是解析不出图形,必须手动的去文件那重新保存下,就可以解析到了,这是为什么追答估计是保存流的文件的编码的问题,试试
Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename), "UTF-8"));追问应该是bom头的问题,我就奇怪了,人家都是去掉bom头,而我这需要加上 而dom4j是不会加入的,那怎么办呢追答你保存文件时要加上编码,在读取的时候也要用那个编码来读取。dom4j不加入,你在保存成文件时自己加入就好了,只要编码对了就行。你可以用UltraEdit的16进制方式看看你保存的文件的前两个字节和你重新保存后的文件 的前两个字节有什么差别,再找办法解决。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯