dom4j 生成xml

它的主要接口都在org.dom4j這個包裏定義:
Attribute定義了XML的屬性
Branch爲能夠包含子節點的節點如XML元素(Element)和文檔(Docuemnts)定義了一個公共的行爲,
CDATA 定義了XML CDATA 區域
CharacterData是一個標識藉口,標識基於字符的節點。如CDATA,Comment, Text.
Comment 定義了XML註釋的行爲
定義了XML文檔
DocumentType 定義XML DOCTYPE聲明
Element定義XML 元素
ElementHandler定義了 Element 對象的處理器
ElementHandler 使用,用於取得當前正在處理的路徑層次信息
Entity定義 XML entity
Node爲所有的dom4j中XML節點定義了多態行爲
NodeFilter 定義了在dom4j節點中產生的一個濾鏡或謂詞的行爲(predicate)
ProcessingInstruction 定義 XML 處理指令.
Text 定義XML 文本節點.
Visitor 用於實現Visitor模式.
XPath 在分析一個字符串後會提供一個XPath 表達式
看名字大致就知道它們的涵義如何了。
要想弄懂這套接口,關鍵的是要明白接口的繼承關係:
一目瞭然,很多事情都清楚了。大部分都是由Node繼承來的。知道這些關係,將來寫程序就不會出現ClassCastException了。

我的源程序

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.Attribute;
import org.dom4j.*;
import org.dom4j.io.XMLWriter;
import org.dom4j.io.OutputFormat;
import java.io.*;
import java.util.*;


public class Dom4jDemo
{
 public Dom4jDemo()
 {
  
  
 }
 
 public void createXML(String fileName)
 {
  Document document=DocumentHelper.createDocument();
  Element booksElement=document.addElement("books");
  booksElement.addComment("this is test for dom4j");
  Element bookElement=booksElement.addElement("book");
  bookElement.addAttribute("show","yes");
  Element titleElement=bookElement.addElement("title");
  titleElement.setText("Dom4j Tutirals");
  bookElement=booksElement.addElement("book");
  bookElement.addAttribute("show","no");
  titleElement=bookElement.addElement("title");
  titleElement.setText("Lucene studing");
  
  Element ownerElement=booksElement.addElement("ownerElement");
  ownerElement.setText("O'Relley");
  try
  {
   OutputFormat format=OutputFormat.createPrettyPrint();
   XMLWriter writer=new XMLWriter(new FileWriter(new File(fileName)),format);
   writer.write(document);
   writer.close();
  }
  catch(Exception e)
  {
   e.printStackTrace();
  }  
 }
 public static void main(String[] args){
  Dom4jDemo dom=new Dom4jDemo();
  dom.createXML("text.xml");
  
 }
 
 

 

 

發佈了31 篇原創文章 · 獲贊 1 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章