﻿<?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-少年阿宾-随笔分类-dom4j</title><link>http://www.blogjava.net/stevenjohn/category/52404.html</link><description>那些青春的岁月</description><language>zh-cn</language><lastBuildDate>Fri, 18 Jan 2013 17:57:34 GMT</lastBuildDate><pubDate>Fri, 18 Jan 2013 17:57:34 GMT</pubDate><ttl>60</ttl><item><title>dom4j  selectNodes</title><link>http://www.blogjava.net/stevenjohn/archive/2013/01/18/394422.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Fri, 18 Jan 2013 12:34:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2013/01/18/394422.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/394422.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2013/01/18/394422.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/394422.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/394422.html</trackback:ping><description><![CDATA[<pre class="line q-content mt-10" accuse="qContent">node.selectNodes("//xml");<br />node.selectNodes("/xml");<br />node.selectNodes("xml");<br />这三个写法有什么区别</pre>
<div class="line q-supply mt-10">
<h3>问题补充：</h3><pre class="q-supply-content" accuse="qSupply">不是很明白<br />就举个例子吧<br />&lt;root&gt;<br /> &lt;xml&gt;1&lt;/xml&gt;<br /> &lt;node&gt;<br />  &lt;xml&gt;2&lt;/xml&gt;<br />  &lt;AAA&gt;<br />   &lt;xml&gt;3&lt;/xml&gt;<br />  &lt;/AAA&gt;<br /> &lt;/node&gt;<br />&lt;/root&gt;<br />从node搜索的话，这三种方法分别能搜到1、2、3中的哪几个？</pre></div><br /><br /><br /><br /><pre id="best-content-420179731" class="best-text mb-10" accuse="aContent">nodename  选取此节点的所有子节点<br />/  从根节点选取<br />//  从匹配选择的当前节点选择文档中的节点，而不考虑它们的位置</pre>
<p class="best-refer mt-10 f-gray" accuse="aRefer"><span class="refer-title">参考资料：</span><a href="http://www.w3school.com.cn/xpath/xpath_syntax.asp" target="_blank">http://www.w3school.com.cn/xpath/xpath_syntax.asp</a></p><img src ="http://www.blogjava.net/stevenjohn/aggbug/394422.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2013-01-18 20:34 <a href="http://www.blogjava.net/stevenjohn/archive/2013/01/18/394422.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Dom4j 生成和解析XML文件</title><link>http://www.blogjava.net/stevenjohn/archive/2012/10/20/389944.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Sat, 20 Oct 2012 13:01:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/10/20/389944.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/389944.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/10/20/389944.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/389944.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/389944.html</trackback:ping><description><![CDATA[<p>//生成xml文件<br />package lc.abin.lee.xml.dom4j;</p>
<p>import java.io.FileWriter;</p>
<p>import org.dom4j.Document;<br />import org.dom4j.DocumentHelper;<br />import org.dom4j.Element;<br />import org.dom4j.io.OutputFormat;<br />import org.dom4j.io.XMLWriter;</p>
<p>public class CreateDom4j {<br />&nbsp;public static String createXml() throws Exception{<br />&nbsp;&nbsp;Document document=DocumentHelper.createDocument();<br />&nbsp;&nbsp;Element root=document.addElement("lee");<br />&nbsp;&nbsp;Element country=root.addElement("abin");<br />&nbsp;&nbsp;Element area=country.addElement("name");<br />&nbsp;&nbsp;Element first=area.addElement("lc1");<br />&nbsp;&nbsp;first.addText("lc1name");<br />&nbsp;&nbsp;Element middle=area.addElement("lc2");<br />&nbsp;&nbsp;middle.addText("lc2name");<br />&nbsp;&nbsp;Element last=area.addElement("lc3");<br />&nbsp;&nbsp;last.addText("lc3name");<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;FileWriter fileWriter=new FileWriter("lbin.xml");<br />&nbsp;&nbsp;OutputFormat format=new OutputFormat();<br />&nbsp;&nbsp;format.setEncoding("UTF-8");<br />&nbsp;&nbsp;XMLWriter writer=new XMLWriter(fileWriter, format);<br />&nbsp;&nbsp;writer.write(document);<br />&nbsp;&nbsp;writer.flush();<br />&nbsp;&nbsp;writer.close();<br />&nbsp;&nbsp;return document.asXML();<br />&nbsp;}<br />&nbsp;public static void main(String[] args)throws Exception {<br />&nbsp;&nbsp;String result=createXml();<br />&nbsp;&nbsp;System.out.println("result="+result);<br />&nbsp;}<br />}<br /><br />生成的XML文件内容<br />&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;lee&gt;&lt;abin&gt;&lt;name&gt;&lt;lc1&gt;lc1name&lt;/lc1&gt;&lt;lc2&gt;lc2name&lt;/lc2&gt;&lt;lc3&gt;lc3name&lt;/lc3&gt;&lt;/name&gt;&lt;/abin&gt;&lt;/lee&gt;<br /><br /><br /><br /><br /><br />//DOM4J解析XML文件</p>
<p>package lc.abin.lee.xml.dom4j;</p>
<p>import java.io.File;<br />import java.util.Collections;<br />import java.util.HashMap;<br />import java.util.Iterator;<br />import java.util.List;<br />import java.util.Map;</p>
<p>import org.dom4j.Document;<br />import org.dom4j.DocumentException;<br />import org.dom4j.Element;<br />import org.dom4j.io.SAXReader;</p>
<p>public class ParseJdom {<br />&nbsp;public static Map&lt;String,String&gt; parse(File file) throws DocumentException{<br />&nbsp;&nbsp;Map&lt;String,String&gt; map=Collections.synchronizedMap(new HashMap&lt;String,String&gt;());<br />&nbsp;&nbsp;SAXReader sax=new SAXReader();<br />&nbsp;&nbsp;Document doc=sax.read(file);<br />&nbsp;&nbsp;List list=doc.selectNodes("/lee/abin/name");<br />&nbsp;&nbsp;for(Iterator it=list.iterator();it.hasNext();){<br />&nbsp;&nbsp;&nbsp;Element ele=(Element)it.next();<br />&nbsp;&nbsp;&nbsp;for(Iterator its=ele.elementIterator();its.hasNext();){<br />&nbsp;&nbsp;&nbsp;&nbsp;Element le=(Element)its.next();<br />&nbsp;&nbsp;&nbsp;&nbsp;map.put(le.getName(), le.getText());<br />&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("le.getName()="+le.getName());<br />&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("le.getText()="+le.getText());<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return map;<br />&nbsp;}<br />&nbsp;public static void main(String[] args) throws Exception {<br />&nbsp;&nbsp;File file=new File("lbin.xml");<br />&nbsp;&nbsp;Map&lt;String,String&gt; map=parse(file);<br />&nbsp;&nbsp;for(Iterator it=map.entrySet().iterator();it.hasNext();){<br />&nbsp;&nbsp;&nbsp;Map.Entry entry=(Map.Entry)it.next();<br />&nbsp;&nbsp;&nbsp;System.out.println("name="+entry.getKey());<br />&nbsp;&nbsp;&nbsp;System.out.println("value="+entry.getValue());<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;}<br />&nbsp;}</p>
<p>}<br /></p>
<p>&nbsp;</p><img src ="http://www.blogjava.net/stevenjohn/aggbug/389944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-10-20 21:01 <a href="http://www.blogjava.net/stevenjohn/archive/2012/10/20/389944.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Dom4j 创建和解析XML</title><link>http://www.blogjava.net/stevenjohn/archive/2012/08/29/386548.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Wed, 29 Aug 2012 14:45:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/08/29/386548.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/386548.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/08/29/386548.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/386548.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/386548.html</trackback:ping><description><![CDATA[<p>package com.abin.lee.dom4j;</p>
<p>import java.util.HashMap;<br />import java.util.Iterator;<br />import java.util.Map;</p>
<p>import org.dom4j.Document;<br />import org.dom4j.DocumentHelper;<br />import org.dom4j.Element;</p>
<p>public class CreateDom4j {<br />&nbsp;public static String createXml(){<br />&nbsp;&nbsp;Document document=DocumentHelper.createDocument();<br />&nbsp;&nbsp;Element school=document.addElement("school");<br />&nbsp;&nbsp;Element teacher=school.addElement("teacher");<br />&nbsp;&nbsp;Element student=teacher.addElement("student");<br />&nbsp;&nbsp;student.addText("abin");<br />&nbsp;&nbsp;Element boy=teacher.addElement("boy");<br />&nbsp;&nbsp;boy.addText("han");<br />&nbsp;&nbsp;Element girl=teacher.addElement("girl");<br />&nbsp;&nbsp;girl.addText("xia");<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;return document.asXML();<br />&nbsp;}<br />&nbsp;<br />&nbsp;public static Map&lt;String, String&gt; parseXml(String xml){<br />&nbsp;&nbsp;Map&lt;String, String&gt; map=new HashMap&lt;String, String&gt;();<br />&nbsp;&nbsp;Document doc=null;<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;doc=DocumentHelper.parseText(xml);<br />&nbsp;&nbsp;&nbsp;Element school=doc.getRootElement();<br />&nbsp;&nbsp;&nbsp;System.out.println("school Name="+school.getName());<br />&nbsp;&nbsp;&nbsp;System.out.println("school Value="+school.getText());<br />&nbsp;&nbsp;&nbsp;map.put(school.getName(), school.getText());<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;Element teacher=school.element("teacher");<br />&nbsp;&nbsp;&nbsp;map.put(teacher.getName(), teacher.getText());<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;Element student=teacher.element("student");<br />&nbsp;&nbsp;&nbsp;map.put(student.getName(), student.getText());<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;Element boy=teacher.element("boy");<br />&nbsp;&nbsp;&nbsp;map.put(boy.getName(), boy.getText());<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;Element girl=teacher.element("girl");<br />&nbsp;&nbsp;&nbsp;map.put(girl.getName(), girl.getText());<br />&nbsp;&nbsp;} catch (Exception e) {<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return map;<br />&nbsp;}<br />&nbsp;<br />&nbsp;public static Map&lt;String, String&gt; parseString(String xml){<br />&nbsp;&nbsp;Map&lt;String, String&gt; map=new HashMap&lt;String, String&gt;();<br />&nbsp;&nbsp;Document doc=null;<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;doc=DocumentHelper.parseText(xml);<br />&nbsp;&nbsp;&nbsp;Element school=doc.getRootElement();<br />&nbsp;&nbsp;&nbsp;map.put(school.getName(), school.getText());<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;Element teacher=school.element("teacher");<br />&nbsp;&nbsp;&nbsp;map.put(teacher.getName(), teacher.getText());<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;for(Iterator it=teacher.elementIterator();it.hasNext();){<br />&nbsp;&nbsp;&nbsp;&nbsp;Element element=(Element)it.next();<br />&nbsp;&nbsp;&nbsp;&nbsp;map.put(element.getName(), element.getText());<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;} catch (Exception e) {<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return map;<br />&nbsp;}<br />&nbsp;public static void main(String[] args) {<br />&nbsp;&nbsp;String result=createXml();<br />&nbsp;&nbsp;System.out.println("result="+result);<br />//&nbsp;&nbsp;Map&lt;String, String&gt; map=parseXml(result);<br />//&nbsp;&nbsp;for(Iterator it=map.entrySet().iterator();it.hasNext();){<br />//&nbsp;&nbsp;&nbsp;Map.Entry entry=(Map.Entry)it.next();<br />//&nbsp;&nbsp;&nbsp;System.out.println("entry name="+entry.getKey());<br />//&nbsp;&nbsp;&nbsp;System.out.println("entry value="+entry.getValue());<br />//&nbsp;&nbsp;}<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Map&lt;String, String&gt; map=parseString(result);<br />&nbsp;&nbsp;for(Iterator it=map.entrySet().iterator();it.hasNext();){<br />&nbsp;&nbsp;&nbsp;Map.Entry entry=(Map.Entry)it.next();<br />&nbsp;&nbsp;&nbsp;System.out.println("entry name="+entry.getKey());<br />&nbsp;&nbsp;&nbsp;System.out.println("entry value="+entry.getValue());<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;}</p>
<p>}<br /><br /><br /><a href="http://hi.baidu.com/stevenjohn/item/aababd47077c0ce5dd0f6c78">http://hi.baidu.com/stevenjohn/item/aababd47077c0ce5dd0f6c78</a></p><img src ="http://www.blogjava.net/stevenjohn/aggbug/386548.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-08-29 22:45 <a href="http://www.blogjava.net/stevenjohn/archive/2012/08/29/386548.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的第一个DOM4J生成实例</title><link>http://www.blogjava.net/stevenjohn/archive/2012/08/16/385563.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Wed, 15 Aug 2012 17:02:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/08/16/385563.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/385563.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/08/16/385563.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/385563.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/385563.html</trackback:ping><description><![CDATA[<p>package org.lee.abin.dom4j;</p>
<p><br />import org.dom4j.Document;<br />import org.dom4j.DocumentHelper;<br />import org.dom4j.Element;</p>
<p>public class Dom4jCreate {<br />&nbsp;public static String CreateXml(){<br />&nbsp;&nbsp;Document document=DocumentHelper.createDocument();<br />&nbsp;&nbsp;document.setXMLEncoding("UTF-8");<br />&nbsp;&nbsp;Element rootElement=document.addElement("abin").addAttribute("version", "1.01");<br />&nbsp;&nbsp;Element first=rootElement.addElement("header").addAttribute("type", "input");<br />&nbsp;&nbsp;Element second=first.addElement("one").addText("中国");<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;return document.asXML();<br />&nbsp;}<br />&nbsp;public static void main(String[] args) {<br />&nbsp;&nbsp;Dom4jCreate dom4jC=new Dom4jCreate();<br />&nbsp;&nbsp;String result=dom4jC.CreateXml();<br />&nbsp;&nbsp;System.out.println("result="+result);<br />&nbsp;}</p>
<p>}<br /></p><img src ="http://www.blogjava.net/stevenjohn/aggbug/385563.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-08-16 01:02 <a href="http://www.blogjava.net/stevenjohn/archive/2012/08/16/385563.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>