import java.io.File;<o:p></o:p>
import java.io.FileWriter;<o:p></o:p>
import java.util.Iterator;<o:p></o:p>
import java.util.List;<o:p></o:p>
<o:p></o:p>
import org.dom4j.Attribute;<o:p></o:p>
import org.dom4j.Document;<o:p></o:p>
import org.dom4j.DocumentHelper;<o:p></o:p>
import org.dom4j.Element;<o:p></o:p>
import org.dom4j.io.OutputFormat;<o:p></o:p>
import org.dom4j.io.SAXReader;<o:p></o:p>
import org.dom4j.io.XMLWriter;<o:p></o:p>
<o:p></o:p>
/**<o:p></o:p>
* @author Holen Chen<o:p></o:p>
*/<o:p></o:p>
public class Dom4jDemo {<o:p></o:p>
<o:p></o:p>
public Dom4jDemo() {<o:p></o:p>
}<o:p></o:p>
<o:p></o:p>
/**<o:p></o:p>
* 建立一个XML文档,文档名由输入参数决定<o:p></o:p>
* @param filename 需建立的文件名<o:p></o:p>
* @return 返回操作结果, 0表失败, 1表成功<o:p></o:p>
*/<o:p></o:p>
public int createXMLFile(String filename){<o:p></o:p>
/** 返回操作结果, 0表失败, 1表成功 */<o:p></o:p>
int returnValue = 0;<o:p></o:p>
/** 建立document对象 */<o:p></o:p>
Document document = DocumentHelper.createDocument();<o:p></o:p>
/** 建立XML文档的根books */<o:p></o:p>
Element booksElement = document.addElement("books");<o:p></o:p>
/** 加入一行注释 */<o:p></o:p>
booksElement.addComment("This is a test for dom4j, holen, 2004.9.11");<o:p></o:p>
/** 加入第一个book节点 */<o:p></o:p>
Element bookElement = booksElement.addElement("book");<o:p></o:p>
/** 加入show参数内容 */<o:p></o:p>
bookElement.addAttribute("show","yes");<o:p></o:p>
/** 加入title节点 */<o:p></o:p>
Element titleElement = bookElement.addElement("title");<o:p></o:p>
/** 为title设置内容 */<o:p></o:p>
titleElement.setText("Dom4j Tutorials");<o:p></o:p>
<o:p></o:p>
/** 类似的完成后两个book */<o:p></o:p>
bookElement = booksElement.addElement("book");<o:p></o:p>
bookElement.addAttribute("show","yes");<o:p></o:p>
titleElement = bookElement.addElement("title");<o:p></o:p>
titleElement.setText("Lucene Studing");<o:p></o:p>
bookElement = booksElement.addElement("book");<o:p></o:p>
bookElement.addAttribute("show","no");<o:p></o:p>
titleElement = bookElement.addElement("title");<o:p></o:p>
titleElement.setText("Lucene in Action");<o:p></o:p>
<o:p></o:p>
/** 加入owner节点 */<o:p></o:p>
Element ownerElement = booksElement.addElement("owner");<o:p></o:p>
ownerElement.setText("O'Reilly");<o:p></o:p>
<o:p></o:p>
try{<o:p></o:p>
/** 将document中的内容写入文件中 */<o:p></o:p>
XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)));<o:p></o:p>
writer.write(document);<o:p></o:p>
writer.close();<o:p></o:p>
/** 执行成功,需返回1 */<o:p></o:p>
returnValue = 1;<o:p></o:p>
}catch(Exception ex){<o:p></o:p>
ex.printStackTrace();<o:p></o:p>
}<o:p></o:p>
<o:p></o:p>
return returnValue;<o:p></o:p>
}<o:p></o:p>
<o:p></o:p>
/**<o:p></o:p>
* 修改XML文件中内容,并另存为一个新文件<o:p></o:p>
* 重点掌握dom4j中如何添加节点,修改节点,删除节点<o:p></o:p>
* @param filename 修改对象文件<o:p></o:p>
* @param newfilename 修改后另存为该文件<o:p></o:p>
* @return 返回操作结果, 0表失败, 1表成功<o:p></o:p>
*/<o:p></o:p>
public int ModiXMLFile(String filename,String newfilename){<o:p></o:p>
int returnValue = 0;<o:p></o:p>
try{<o:p></o:p>
SAXReader saxReader = new SAXReader(); <o:p></o:p>