前言
最近手头拿了一些XML格式的数据,用dom4j解析一看,出现了如下提示:
lineNumber: 22; columnNumber: 2; 文档中根元素后面的标记必须格式正确。
仔细一看,是由于这个XML有很多根节点,那我们知道XML是允许有一个根节点的,那么多个根结点的话就会产生这个异常。
那很容易想到的办法就是添加给这个XML根节点。可是,我手头有好几百个这样的问题,那必须得用软件帮我解决了。
主要思路就是将原来XML文件,一行一行读出来,然后添加根节点(头尾两行)后,再一起输出到新文件。
代码(Java)
try {
FileOutputStream out = new FileOutputStream(new File("E:\\data\\5416(temp).xml")); //新的xml文件
File file = new File("E:\\data\\5416.xml"); //原来的xml文件
if (!file.exists()) {
file.createNewFile();
}
byte[] buffer = new byte[1024];
FileInputStream fileInput = new FileInputStream(file);
BufferedReader br=new BufferedReader(new InputStreamReader(fileInput));
String line;
/**
* 以下是添加根节点的代码
* 主要思路就是将原来XML文件,一行一行读出来,然后添加根节点(头尾两行)后,再一起输出到新文件
*/
out.write("<root>\n".getBytes()); //添加根节点
while ((line = br.readLine()) != null) { //添加原本xml内容
out.write((line + "\n").getBytes());
}
out.write("</root>\n".getBytes());
out.close();
} catch (Exception e) {
}