日期:2014-05-20  浏览次数:21000 次

java修改xml文件后<xml>声明后会多一个空白行,怎么去掉
   如题。
<?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();
}
}
------解决方案--------------------
是不是可以不用XMLWriter 类,自己去组装xml文件,或者换个api试试。
------解决方案--------------------
XMLWriter是按照标准的xml格式来的,必须要让xml有效并合法,可以不要声明行,或是自己直接拼接成txt文件再来读取