//程序用这个:)//自己定义Format
/**
* <p>Title: Pretty XML</p>
*
* <p>Description: Pretty XML</p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author YuLimin
* @version 1.0
*/import java.io.*;import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;public class PrettyXML
{
private String extName = "";
public void setExtName(String ExtName)
{
this.extName = ExtName;
} public String getExtName()
{
return extName;
} public PrettyXML()
{
} public void pretty(String filename)
{
try
{
// Build the document with SAX and Xerces, no validation
SAXBuilder builder = new SAXBuilder();
// Create the document
Document doc = builder.build(new File(filename));
// Output the document, use Pretty formatter
XMLOutputter fmt = new XMLOutputter();
fmt.setFormat(Format.getPrettyFormat()); //FileOutputStream
OutputStream os = new FileOutputStream(filename + extName);
fmt.output(doc,os);
os.flush();
os.close();
}
catch(Exception e)
{
e.printStackTrace();
}
} public static void main(String[] args)
{
String filenameIn = ""; //args[0];
filenameIn = "Z:\\Java\\Example.xml"; PrettyXML prettyXML = new PrettyXML();
prettyXML.setExtName("Pretty.xml");
prettyXML.pretty(filenameIn);
}
}
/**
* <p>Title: Pretty XML</p>
*
* <p>Description: Pretty XML</p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author YuLimin
* @version 1.0
*/import java.io.*;import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;public class PrettyXML
{
private String extName = "";
public void setExtName(String ExtName)
{
this.extName = ExtName;
} public String getExtName()
{
return extName;
} public PrettyXML()
{
} public void pretty(String filename)
{
try
{
// Build the document with SAX and Xerces, no validation
SAXBuilder builder = new SAXBuilder();
// Create the document
Document doc = builder.build(new File(filename));
// Output the document, use Pretty formatter
XMLOutputter fmt = new XMLOutputter();
fmt.setFormat(Format.getPrettyFormat()); //FileOutputStream
OutputStream os = new FileOutputStream(filename + extName);
fmt.output(doc,os);
os.flush();
os.close();
}
catch(Exception e)
{
e.printStackTrace();
}
} public static void main(String[] args)
{
String filenameIn = ""; //args[0];
filenameIn = "Z:\\Java\\Example.xml"; PrettyXML prettyXML = new PrettyXML();
prettyXML.setExtName("Pretty.xml");
prettyXML.pretty(filenameIn);
}
}
下面的代码里面的this.doc就是一个你需要格式化的xml的Document
/**
*
* 格式化生成XML文档,并解决中文问题
*
* @return 返回操作结果, 0表示失败, 1表示成功
*
*/
public int writeXMLFile()
{
int returnValue = 0;
try
{
XMLWriter writer = null; /** 格式化输出,类型IE浏览一样 */ OutputFormat format = OutputFormat.createPrettyPrint(); /** 指定XML编码 */ format.setEncoding( "GB2312" ); writer = new XMLWriter( new FileWriter( new File( this.filename) ), format ); writer.write( this.doc ); writer.close(); /** 执行成功,需返回1 */ returnValue = 1;
format = null;
writer = null;
}
catch ( Exception ex )
{ ex.printStackTrace(); } return returnValue;
}
阿敏总司令的程序格式化,用了fmt.setFormat(Format.getPrettyFormat());(Format有这个方法么?我都不知道诶)
比我写的要简洁,收藏了
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;Format.getPrettyFormat是静态方法:)
害得自己写一大堆程序来实现内容的格式化