dom4j创建格式化的xml文件

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
 *
 * @author Administrator
 */
public class Main {
    
  /** Creates a new instance of Main */
  public Main() {
  }
    
  public static void main(String[] args) {
// TODO Auto-generated method stub
  Main user = new Main();
//user.newXML();
  user.newXML();
  }
    
  public void newXML(){
  /**
  * users.xml
  */
  Document doc = DocumentHelper.createDocument(); //users.xml
    
    
  /**
  * 根元素 users
  */
  Element users = doc.addElement("users"); //根元素 users
  doc.setRootElement(users);
  users.addComment("the xml document about some login system information of users");
    
    
  /**
  * 根元素 users 下的子元素 user
  */
  Element user = users.addElement("user"); // 新增 users 的一个子元素 user
  user.addAttribute("id","1"); //增加user的一个属性,并设置此属性值
  Element username = user.addElement("username"); // 新增 user 元素的子元素 username
  username.setText("yy"); //设置 username 的值
  Element password = user.addElement("password"); // 新增 user 元素的子元素 password
  String crlf=System.getProperty("line.separator");
  password.setText("1234"+crlf+"5678"); //设置 password 的值
    
  /**
  * 通过 org.dom4j.io.OutputFormat 来设置XML文档输出格式
  */
  OutputFormat format = OutputFormat.createPrettyPrint(); //设置XML文档输出格式
  format.setEncoding("GB2312"); //设置XML文档的编码类型
// format.setSuppressDeclaration(true);
// format.setIndent(true); //设置是否缩进
// format.setIndent(" "); //以空格方式实现缩进
// format.setNewlines(true); //设置是否换行
    
    
  /**
  * 通过 org.dom4j.io.XMLWriter 创建XML文档(写)
  */
  try {
  XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File("a.xml")),format);
  xmlWriter.write(users);
  xmlWriter.close();
  } catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
  e.printStackTrace();
  } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
  e.printStackTrace();
  }catch (IOException e) {
// TODO Auto-generated catch block
  e.printStackTrace();
  }
  }
    
}
 
 
原文地址:https://www.cnblogs.com/aigeileshei/p/5703908.html