java修改xml文件后声明后会多一个空白行,怎么去掉

pinkpqs 2012-12-24 05:11:10
如题。
<?xml version="1.0" encoding="gb2312"?>

<config>
<Agent>agent0.0.0.2</Agent>
<ServerIP>2.0.0.0</ServerIP>
<port>8000</port>
这是部分xml文件内容,不知道为什么声明后会多一个空白行,这是一个config.xml配置文件,页面的两个变量值会存入这个文件中,界面中变量的值修改保存后这个文件便会产生一个多余的空白行,然后tomcat运行再读取这个配置文件内容时就会出错,所以要把这个空白行去掉,找了一天资料都没任何进展,忘高手帮忙。
下面是写xml文件代码:
public static void saveXMLFile(Document document,String filePath) {
try {
OutputFormat format = OutputFormat.createPrettyPrint();//缩减型格式
format.setEncoding("gb2312");
format.setIndent(true);
//XMLWriter writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream(filePath), "GBK"), OutputFormat.createPrettyPrint());
XMLWriter writer = new XMLWriter(new FileOutputStream(filePath), format);
writer.write(document);
writer.close();
JOptionPane.showMessageDialog(null, "保存成功,请重启!");
readXml();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "保存失败");
e.printStackTrace();
}
}
...全文
818 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaowei_shazi 2013-05-29
  • 打赏
  • 举报
回复 2
我今天也遇到了这个问题,是这样解决的: String docStr = document.asXML(); //将Document对象转换为String String retsultStr = docStr.replaceAll("\n\n","\n"); //即将两个换行符转换为一个。
pinkpqs 2012-12-26
  • 打赏
  • 举报
回复
问题已经解决,我因为用的dom4j,然后我换成w3c dom就没空白行了
wenhaoxp1987 2012-12-25
  • 打赏
  • 举报
回复
XMLWriter是按照标准的xml格式来的,必须要让xml有效并合法,可以不要声明行,或是自己直接拼接成txt文件再来读取
笑莫问 2012-12-25
  • 打赏
  • 举报
回复
是不是可以不用XMLWriter 类,自己去组装xml文件,或者换个api试试。
meichen8050753 2012-12-25
  • 打赏
  • 举报
回复
多2空行有很大问题么?

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧