﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-An's Blog -文章分类-dom4j</title><link>http://www.blogjava.net/ag4444/category/21719.html</link><description>十年磨一键</description><language>zh-cn</language><lastBuildDate>Wed, 18 Apr 2007 22:15:08 GMT</lastBuildDate><pubDate>Wed, 18 Apr 2007 22:15:08 GMT</pubDate><ttl>60</ttl><item><title>dom4j操作XML大全</title><link>http://www.blogjava.net/ag4444/articles/111519.html</link><dc:creator>   An's Blog </dc:creator><author>   An's Blog </author><pubDate>Wed, 18 Apr 2007 02:29:00 GMT</pubDate><guid>http://www.blogjava.net/ag4444/articles/111519.html</guid><wfw:comment>http://www.blogjava.net/ag4444/comments/111519.html</wfw:comment><comments>http://www.blogjava.net/ag4444/articles/111519.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ag4444/comments/commentRss/111519.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ag4444/services/trackbacks/111519.html</trackback:ping><description><![CDATA[<span class=oblog_text>/首先要下载dom4j.jar<br>//示例1<br>package dom4jdemo;<br>import java.io.File;<br>import java.io.FileInputStream;<br>import java.io.StringBufferInputStream;<br>import java.util.List;
<p>import org.dom4j.Document;<br>import org.dom4j.Element;<br>import org.dom4j.Node;<br>import org.dom4j.io.SAXReader;<br>public class Dom4jParseDemo {</p>
<p>&nbsp;public static void main(String[] args) {<br>&nbsp;&nbsp;&nbsp;&nbsp; String xml="";<br>&nbsp;&nbsp;xml+="&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;";<br>&nbsp;&nbsp;xml+="&lt;root&gt;";<br>&nbsp;&nbsp;xml+="&lt;users userId=\"1\"&gt;";<br>&nbsp;&nbsp;xml+="&lt;username&gt;admin&lt;/username&gt;";<br>&nbsp;&nbsp;xml+="&lt;password&gt;111&lt;/password&gt;";<br>&nbsp;&nbsp;xml+="&lt;quanxian&gt;0&lt;/quanxian&gt;";<br>&nbsp;&nbsp;xml+="&lt;underling&gt;&lt;name&gt;under1&lt;/name&gt;&lt;/underling&gt;";<br>&nbsp;&nbsp;xml+="&lt;/users&gt;";<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;xml+="&lt;users userId=\"2\"&gt;";<br>&nbsp;&nbsp;xml+="&lt;username&gt;hehe&lt;/username&gt;";<br>&nbsp;&nbsp;xml+="&lt;password&gt;张三&lt;/password&gt;";<br>&nbsp;&nbsp;xml+="&lt;quanxian&gt;1&lt;/quanxian&gt;";<br>&nbsp;&nbsp;xml+="&lt;underling&gt;&lt;name&gt;under1&lt;/name&gt;&lt;/underling&gt;";<br>&nbsp;&nbsp;xml+="&lt;/users&gt;";<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;xml+="&lt;users userId=\"3\"&gt;";<br>&nbsp;&nbsp;xml+="&lt;username&gt;李鹏&lt;/username&gt;";<br>&nbsp;&nbsp;xml+="&lt;password&gt;111&lt;/password&gt;";<br>&nbsp;&nbsp;xml+="&lt;quanxian&gt;2&lt;/quanxian&gt;";<br>&nbsp;&nbsp;xml+="&lt;underling&gt;&lt;name&gt;under1&lt;/name&gt;&lt;/underling&gt;";<br>&nbsp;&nbsp;xml+="&lt;/users&gt;";<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;xml+="&lt;users userId=\"4\"&gt;";<br>&nbsp;&nbsp;xml+="&lt;username&gt;java&lt;/username&gt;";<br>&nbsp;&nbsp;xml+="&lt;password&gt;111&lt;/password&gt;";<br>&nbsp;&nbsp;xml+="&lt;quanxian&gt;1&lt;/quanxian&gt;";<br>&nbsp;&nbsp;xml+="&lt;underling&gt;&lt;name&gt;under1&lt;/name&gt;&lt;/underling&gt;";<br>&nbsp;&nbsp;xml+="&lt;/users&gt;";<br>&nbsp;&nbsp;xml+="&lt;/root&gt;";<br>&nbsp;&nbsp;SAXReader saxReader = new SAXReader();<br>&nbsp;&nbsp;try {<br>&nbsp;&nbsp;&nbsp;//File file=new File("C:\\test.xml");<br>&nbsp;&nbsp;&nbsp;//FileInputStream in=new FileInputStream(file);<br>&nbsp;&nbsp;&nbsp;//Document document = saxReader.read(in);//从文件流读入xml数据<br>&nbsp;&nbsp;&nbsp;StringBufferInputStream strInStream=new StringBufferInputStream(xml);<br>&nbsp;&nbsp;&nbsp;Document document = saxReader.read(strInStream);//从STRING对象读入XML数据<br>&nbsp;&nbsp;&nbsp;Element root = document.getRootElement();<br>&nbsp;&nbsp;&nbsp;List listUsers=root.selectNodes("users");<br>&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;listUsers.size();i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;Element eleUser=(Element)listUsers.get(i);<br>&nbsp;&nbsp;&nbsp;&nbsp;Node nodeUsername=eleUser.selectSingleNode("username");<br>&nbsp;&nbsp;&nbsp;&nbsp;Node nodePassword=eleUser.selectSingleNode("password");<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;System.err.println("username:"+nodeUsername.getText());<br>&nbsp;&nbsp;&nbsp;&nbsp;System.err.println("password:"+nodeUsername.getText());<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;//System.err.println("username:"+nodeUsername.getStringValue());<br>&nbsp;&nbsp;&nbsp;&nbsp;//System.err.println("password:"+nodePassword.getStringValue());<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;} catch (Exception e) {<br>&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;}<br>&nbsp;}<br>}<br>&nbsp;//示例2<br>package dom4jdemo;</p>
<p>import java.io.File;<br>import java.io.FileWriter;<br>import java.util.Iterator;<br>import java.util.List;</p>
<p>import org.dom4j.Attribute;<br>import org.dom4j.Document;<br>import org.dom4j.DocumentHelper;<br>import org.dom4j.Element;</p>
<p>import org.dom4j.io.OutputFormat;<br>import org.dom4j.io.SAXReader;<br>import org.dom4j.io.XMLWriter;</p>
<p>public class Dom4jUpdateDemo {</p>
<p>&nbsp;&nbsp;&nbsp; public int createXMLFile(String filename){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 返回操作结果, 0表失败, 1表成功 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int returnValue = 0;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 建立document对象 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Document document = DocumentHelper.createDocument();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 建立XML文档的根books */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element booksElement = document.addElement("books");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 加入一行注释 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; booksElement.addComment("This is a test for dom4j, holen, 2004.9.11");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 加入第一个book节点 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element bookElement = booksElement.addElement("book");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 加入show属性内容 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bookElement.addAttribute("show","yes");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 加入title节点 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element titleElement = bookElement.addElement("title");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 为title设置内容 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; titleElement.setText("Dom4j Tutorials");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 类似的完成后两个book */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bookElement = booksElement.addElement("book");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bookElement.addAttribute("show","yes");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; titleElement = bookElement.addElement("title");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; titleElement.setText("Lucene Studing");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bookElement = booksElement.addElement("book");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bookElement.addAttribute("show","no");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; titleElement = bookElement.addElement("title");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; titleElement.setText("Lucene in Action");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 加入owner节点 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element ownerElement = booksElement.addElement("owner");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ownerElement.setText("O'Reilly");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try{</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 将document中的内容写入文件中 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.write(document);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.close();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 执行成功,需返回1 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; returnValue = 1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }catch(Exception ex){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ex.printStackTrace();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return returnValue;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; /**</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; * 修改XML文件中内容,并另存为一个新文件</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; * 重点掌握dom4j中如何添加节点,修改节点,删除节点</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; * @param filename 修改对象文件</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; * @param newfilename 修改后另存为该文件</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; * @return 返回操作结果, 0表失败, 1表成功</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; */</p>
<p>&nbsp;&nbsp;&nbsp; public int ModiXMLFile(String filename,String newfilename){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int returnValue = 0;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try{</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SAXReader saxReader = new SAXReader(); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Document document = saxReader.read(new File(filename));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 修改内容之一: 如果book节点中show属性的内容为yes,则修改成no */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 先用xpath查找对象 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List list = document.selectNodes("<a>/books/book/@show</a>" ); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Iterator iter = list.iterator();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(iter.hasNext()){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Attribute attribute = (Attribute)iter.next();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(attribute.getValue().equals("yes")){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; attribute.setValue("no");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * 修改内容之二: 把owner项内容改为Tshinghua</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * 并在owner节点中加入date节点,date节点的内容为2004-09-11,还为date节点添加一个属性type</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list = document.selectNodes("/books/owner" );</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iter = list.iterator();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(iter.hasNext()){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element ownerElement = (Element)iter.next();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ownerElement.setText("Tshinghua");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element dateElement = ownerElement.addElement("date");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dateElement.setText("2004-09-11");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dateElement.addAttribute("type","Gregorian calendar");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 修改内容之三: 若title内容为Dom4j Tutorials,则删除该节点 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list = document.selectNodes("/books/book");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iter = list.iterator();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(iter.hasNext()){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element bookElement = (Element)iter.next();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Iterator iterator = bookElement.elementIterator("title");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(iterator.hasNext()){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element titleElement=(Element)iterator.next();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(titleElement.getText().equals("Dom4j Tutorials")){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bookElement.remove(titleElement);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try{</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 将document中的内容写入文件中 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XMLWriter writer = new XMLWriter(new FileWriter(new File(newfilename)));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.write(document);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.close();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 执行成功,需返回1 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; returnValue = 1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }catch(Exception ex){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ex.printStackTrace();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }catch(Exception ex){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ex.printStackTrace();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return returnValue;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; /**</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; * 格式化XML文档,并解决中文问题</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; * @param filename</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; * @return</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; */</p>
<p>&nbsp;&nbsp;&nbsp; public int formatXMLFile(String filename){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int returnValue = 0;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try{</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SAXReader saxReader = new SAXReader(); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Document document = saxReader.read(new File(filename));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XMLWriter writer = null;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 格式化输出,类型IE浏览一样 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OutputFormat format = OutputFormat.createPrettyPrint();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 指定XML编码 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format.setEncoding("GBK");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer= new XMLWriter(new FileWriter(new File(filename)),format);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.write(document);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.close();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** 执行成功,需返回1 */</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; returnValue = 1;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }catch(Exception ex){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ex.printStackTrace();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return returnValue;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String[] args) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dom4jUpdateDemo temp = new Dom4jUpdateDemo();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(temp.createXMLFile("c://holen.xml"));&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(temp.ModiXMLFile("c://holen.xml","c://holen2.xml"));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(temp.formatXMLFile("c://holen2.xml"));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>}<br>//示例3<br>import java.io.File;<br>import java.io.FileWriter;<br>import java.io.IOException;</p>
<p>import org.dom4j.Document;<br>import org.dom4j.Element;<br>import org.dom4j.DocumentHelper;<br>import org.dom4j.io.XMLWriter;</p>
<p>public class Dom4JWriteDemo2 {</p>
<p>&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String usernames[]={"admin","zhong","yang"};<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String passwords[]={"1984","123","321"};<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Document doc = DocumentHelper.createDocument();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element root = doc.addElement("root");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; usernames.length; i++) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element users = root.addElement("users");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; users.addAttribute("userId", String.valueOf(i));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element username = users.addElement("username");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; username.setText(usernames[i]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element password = users.addElement("password");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; password.setText(passwords[i]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XMLWriter output = new XMLWriter(new FileWriter(new File("c:/Dom4j.xml")));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; output.write(doc);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; output.close();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("XML创建成功!");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (IOException e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("XML创建失败!" + e.getMessage());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
</span>
<img src ="http://www.blogjava.net/ag4444/aggbug/111519.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ag4444/" target="_blank">   An's Blog </a> 2007-04-18 10:29 <a href="http://www.blogjava.net/ag4444/articles/111519.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>