核心代码:
package com.ddatsh;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import org.dom4j.document;
import org.dom4j.documentException;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class XmlFormat {
public static String format(String str) throws Exception {
SAXReader reader = new SAXReader();
// System.out.println(reader);
// 注释:创建一个串的字符输入流
StringReader in = new StringReader(str);
document doc = reader.read(in);
// System.out.println(doc.getRootElement());
// 注释:创建输出格式
OutputFormat formater = OutputFormat.createPrettyPrint();
//formater=OutputFormat.createCompactFormat();
// 注释:设置xml的输出编码
formater.setEncoding("utf-8");
// 注释:创建输出(目标)
StringWriter out = new StringWriter();
// 注释:创建输出流
XMLWriter writer = new XMLWriter(out, formater);
// 注释:输出格式化的串到目标中,执行后。格式化后的串保存在out中。
writer.write(doc);
writer.close();
System.out.println(out.toString());
// 注释:返回我们格式化后的结果
return out.toString();
}
public static void main(String[] args) throws Exception {
String head="";
String str = "sh1_admin sh1_admin 3107 上海分公司一部 03 113100000033 a5rfg87 沪E78612 2011-02-25 15:07:002011-02-25 15:07:00 310000 310100 13525 sh_admin 30000800 江苏分公司 a5rfg87a5rfg87a5rfg87 0 5 ";
// System.out.println(str);
format(str);
}
}
oschina用的在线格式化xml的工具就是使用此段代码。



