dom4j创建XML文件
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
/**
* @author Dong 2013-12-23 ©Copyright 2013 dong
*/
public class Dom4j {
/**
* 非法的 XML 字符必须被替换为实体引用
* < < 小于号
* > > 大于号
* & & 与(和)号
* ' ' 单引号
* " " 双引号
* <message>if salary < 1000 then</message>为了避免此类错误,需要把字符 "<" 替换为实体引用,就像这样:
* <message>if salary < 1000 then</message>
*/
public static void main(String[] args) {
createXML();
}
public static void createXML() {
Document document = DocumentHelper.createDocument();
Element firstElement = document.addElement("FirstElement");
firstElement.addComment("A sample XML file");// 添加注释
firstElement.addCDATA("who am i CDATA");
// 在标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当做字符数据看待,CDATA的形式如下:
// <![CDATA[文本内容]]>
// CDATA的文本内容中不能出现字符串“]]>”,另外,CDATA不能嵌套。
firstElement.addProcessingInstruction("target", "text");
Element secondElement = firstElement.addElement("SecondElement");
secondElement.addAttribute("title", "Create XML");
secondElement.addAttribute("publisher", "Dongxiang");
secondElement.addAttribute("date", "2013-12-24 10:03:32");
Element thirdElement = secondElement.addElement("ThirdElement");
thirdElement.addAttribute("level", "Intermediate");
thirdElement.addAttribute("date", "December-2013");
Element forthElementA = thirdElement.addElement("ForthElementA");
forthElementA.setText("简单的XML forthElement A");
Element forthElementB = thirdElement.addElement("ForthElementB");
forthElementB.setText("与其并列 forthElement B");
Element forthElementC = thirdElement.addElement("ForthElementC");
Element fifthElementA = forthElementC.addElement("fifthElementA");
fifthElementA.setText("Head");
Element fifthElementB = forthElementC.addElement("fifthElementB");
fifthElementB.setText("Body");
document.addDocType("firstElement", "what", "http://www.cnblogs.com/babi/");
try {
// 下面format用来格式化输出到XML文件,观看的结构清晰
OutputFormat format = new OutputFormat();
format.setIndentSize(2);//缩进字符
format.setNewlines(true);//换行
format.setTrimText(false);
format.setPadText(true);//填补
format.setEncoding("UTF-8");//字符编码
// XMLWriter output = new XMLWriter(new FileWriter(new File(
// "Sample.xml")));//没用format进行格式化输出,XML文件结果显示为一行
XMLWriter output = new XMLWriter(new FileWriter(new File(
"Sample.xml")), format);
output.write(document);
output.close();
System.out.println("create XML success!");
} catch (IOException e) {
e.printStackTrace();
}
}
}