1. 程式人生 > >dom4j 的簡單的使用--建立XML檔案

dom4j 的簡單的使用--建立XML檔案

  1. 建立一個簡單的例子,這個是別人寫的。其實我個人還是比較喜歡Json更加的簡單好使用
    這裡寫圖片描述
import java.io.File;
import java.io.FileOutputStream;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;


public class Demo {
 public static void main(String[] args) throws Exception {
  Document doc = DocumentHelper.createDocument
(); //增加根節點 Element books = doc.addElement("books"); //增加子元素 Element book1 = books.addElement("book"); Element title1 = book1.addElement("title"); Element author1 = book1.addElement("author"); Element book2 = books.addElement("book"); Element title2 = book2.addElement("title"); Element author2 = book2.addElement
("author"); //為子節點新增屬性 book1.addAttribute("id", "001"); //為元素新增內容 title1.setText("Harry Potter"); author1.setText("J K. Rowling"); book2.addAttribute("id", "002"); title2.setText("Learning XML"); author2.setText("Erik T. Ray"); //例項化輸出格式物件 OutputFormat format = OutputFormat.createPrettyPrint
(); //設定輸出編碼 format.setEncoding("UTF-8"); //建立需要寫入的File物件 File file = new File("D:" + File.separator + "books.xml"); //生成XMLWriter物件,建構函式中的引數為需要輸出的檔案流和格式 XMLWriter writer = new XMLWriter(new FileOutputStream(file), format); //開始寫入,write方法中包含上面建立的Document物件 writer.write(doc); } }

其實這裡來說的話,我們可以看到。和html就是一個原理,屬性,text,增加子元素

通過反射進行操作,進行增加屬新元素

public static void writeAttributes(Element element, Object obj) {
        Class<?> cla = obj.getClass();
        Field[] fields = cla.getDeclaredFields();
        for(Field field : fields) {
            String name = field.getName();
            String getMethodName = "get"+toFirstLetterUpperCase(name);
            try {
                Object value = cla.getMethod(getMethodName).invoke(obj);
                element.addAttribute(name, value.toString());
            } catch (Exception e) {
            }
        }
    }