﻿<?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-jerryhanwei-随笔分类-XML</title><link>http://www.blogjava.net/jerryhanwei/category/40257.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 17 Jun 2009 12:26:21 GMT</lastBuildDate><pubDate>Wed, 17 Jun 2009 12:26:21 GMT</pubDate><ttl>60</ttl><item><title>dom解析xml说明</title><link>http://www.blogjava.net/jerryhanwei/archive/2009/06/17/282861.html</link><dc:creator>hanwei</dc:creator><author>hanwei</author><pubDate>Wed, 17 Jun 2009 07:48:00 GMT</pubDate><guid>http://www.blogjava.net/jerryhanwei/archive/2009/06/17/282861.html</guid><wfw:comment>http://www.blogjava.net/jerryhanwei/comments/282861.html</wfw:comment><comments>http://www.blogjava.net/jerryhanwei/archive/2009/06/17/282861.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jerryhanwei/comments/commentRss/282861.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jerryhanwei/services/trackbacks/282861.html</trackback:ping><description><![CDATA[<div id="ntoptitle">
<div id="blogTitle">
<div id="blogname"><a href="http://blog.sina.com.cn/goblin1130">雨中的旋律的博客</a>
</div>
<div>http://blog.sina.com.cn/goblin1130<a id="SubscribeNewRss" href="http://blog.sina.com.cn/s/blog_5a7cc3aa0100dvou.html%7Etype=v5_one&amp;label=rela_prevarticle#" class="CP_a_fuc" onclick="return false;">[<cite>订阅</cite>]</a></div>
</div>
</div>
<div>
<div id="clone_template">
<div>
<div>
<div><a href="http://blog.sina.com.cn/goblin1130"><img alt="返回雨中的旋律的博客个人首页" title="返回雨中的旋律的博客个人首页" src="http://portrait3.sinaimg.cn/1518125994/blog/50" /></a></div>
<div><a href="http://blog.sina.com.cn/goblin1130"><span id="nav_name">雨中的旋律</span></a></div>
</div>
<div>
<li><span id="nav_blog"><a href="http://blog.sina.com.cn/goblin1130">博客</a></span></li>
<li><span id="nav_photo"><a href="http://photo.blog.sina.com.cn/goblin1130">相册</a></span></li>
<li><span id="nav_music"><a href="http://music.sina.com.cn/m/1518125994">音乐</a></span></li>
<li><span id="nav_vblog"><a href="http://you.video.sina.com.cn/goblin1130">播客</a></span></li>
<li><span id="nav_tiezi"><a href="http://profile.blog.sina.com.cn/goblin1130">个人中心</a></span></li>
</div>
</div>
<div>
<div>
<div>
<a href="http://blog.sina.com.cn/goblin1130">首页</a><a href="http://blog.sina.com.cn/s/articlelist_1518125994_0_1.html">博文</a><a href="http://blog.sina.com.cn/s/favourites_1518125994_1.html">收藏</a><a href="http://profile.blog.sina.com.cn/circle.php?uid=1518125994&amp;page=1&amp;type=3">博客圈</a></div>
</div>
</div>
</div>
</div>
<div>
<span articlefontsize="" id="articleFontManage">字体大小：<a onclick="changeFontSize(2);return false;" href="http://blog.sina.com.cn/s/blog_5a7cc3aa0100dvou.html%7Etype=v5_one&amp;label=rela_prevarticle">大</a><strong>中</strong><a onclick="changeFontSize(0);return false;" href="http://blog.sina.com.cn/s/blog_5a7cc3aa0100dvou.html%7Etype=v5_one&amp;label=rela_prevarticle">小</a></span>
正文
</div>
<div>
<div style="display: inline;">
<strong id="t_5a7cc3aa0100dvou">dom解析xml</strong>(2009-06-03 10:28:34)</div>
</div>
<div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tbody>
        <tr>
            <td>
            <script>
            var $tag='杂谈';
            var $tag_code='6699ebc135ee3e8cd6d413ef0ee671e6';
            </script>
            标签：<a href="http://uni.sina.com.cn/c.php?t=blog&amp;k=%D4%D3%CC%B8&amp;ts=bpost&amp;stype=tag" class="tag" target="_blank">杂谈</a><wbr>&nbsp;
            </td>
            <td align="right" valign="top" width="250">分类：<a href="http://blog.sina.com.cn/s/articlelist_1518125994_7_1.html">xml</a></td>
        </tr>
    </tbody>
</table>
</div>
<div id="articleBody">
用Java解析XML文档，最常用的有两种方法：使用基于事件的XML简单API（Simple API for
XML）称为SAX和基于树和节点的文档对象模型（Document Object Module）称为DOM。Sun公司提供了Java
API for XML
Parsing（JAXP）接口来使用SAX和DOM，通过JAXP，我们可以使用任何与JAXP兼容的XML解析器。<br />
<br />
JAXP接口包含了三个包：<br />
<br />
（1）&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
org.w3c.dom&nbsp;<wbr>&nbsp;<wbr>
W3C推荐的用于XML标准规划文档对象模型的接口。<br />
<br />
（2）&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
org.xml.sax&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
用于对XML进行语法分析的事件驱动的XML简单API（SAX）<br />
<br />
（3）&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
javax.xml.parsers解析器工厂工具，程序员获得并配置特殊的特殊语法分析器。<br />
<br />
二、&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
前提<br />
<br />
<br />
<br />
DOM编程不要其它的依赖包，因为JDK里自带的JDK里含有的上面提到的org.w3c.dom、org.xml.sax
和javax.xml.parsers包就可以满意条件了。<br />
<br />
三、&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
使用DOM解析XML文档<br />
<br />
<br />
<br />
我们现在来看看DOM是如何解析XML的吧！同样的，我将从一个简单的不能再简单的例子来说明DOM是如何解析XML文档的，先让我们看看XML是什么内容吧：<br />
<br />
&lt;?xml version="1.0"
encoding="gb2312"?&gt;<br />
<br />
<br />
<br />
&lt;books&gt;<br />
<br />
<br />
<br />
&nbsp;<wbr>&nbsp;<wbr> &lt;book
email="zhoujunhui"&gt;<br />
<br />
<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
&lt;name&gt;rjzjh&lt;/name&gt;<br />
<br />
<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
&lt;price&gt;jjjjjj&lt;/price&gt;<br />
<br />
<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>
&lt;/book&gt;<br />
<br />
<br />
<br />
&lt;/books&gt;<br />
<br />
<br />
<br />
简单的不能再简单了。但是该有的都有了，根元素、属性、子节点。好了，能反应问题就行了，下面来看看解析这个XML文件的Java代码吧！<br />
<br />
1 public class DomParse {<br />
<br />
2&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
public
DomParse(){&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
<br />
3&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
DocumentBuilderFactory
domfac=DocumentBuilderFactory.newInstance();<br />
<br />
4&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
try {<br />
<br />
5&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
DocumentBuilder dombuilder=domfac.newDocumentBuilder();<br />
<br />
6&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
InputStream is=new FileInputStream("bin/library.xml");<br />
<br />
7&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
Document doc=dombuilder.parse(is);<br />
<br />
8&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
<br />
9&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
Element root=doc.getDocumentElement();<br />
<br />
10&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
NodeList books=root.getChildNodes();<br />
<br />
11&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if(books!=null){<br />
<br />
12&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
for(int i=0;i&lt;books.getLength();i++){<br />
<br />
13&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
Node book=books.item(i);<br />
<br />
14&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if(book.getNodeType()==Node.ELEMENT_NODE){<br />
<br />
15&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
String
email=book.getAttributes().getNamedItem("email").getNodue();<br />
<br />
16&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(email);<br />
<br />
17&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
for(Node
node=book.getFirstChild();node!=null;node=node.getNextSibling()){<br />
<br />
18&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if(node.getNodeType()==Node.ELEMENT_NODE){<br />
<br />
19&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if(node.getNodeName().equals("name")){<br />
<br />
20&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
String name=node.getNodue();<br />
<br />
21&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
String name1=node.getFirstChild().getNodue();<br />
<br />
22&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(name);<br />
<br />
23&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(name1);<br />
<br />
24&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
25&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if(node.getNodeName().equals("price")){<br />
<br />
26&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
String price=node.getFirstChild().getNodue();<br />
<br />
27&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(price);<br />
<br />
28&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
29&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
30&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
31&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
32&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
33&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
34&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
} catch (ParserConfigurationExcep<wbr>tion e) {<br />
<br />
35&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
e.printStackTrace();<br />
<br />
36&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
} catch (FileNotFoundException e) {<br />
<br />
37&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
e.printStackTrace();<br />
<br />
38&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
} catch (SAXException e) {<br />
<br />
39&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
e.printStackTrace();<br />
<br />
40&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
} catch (IOException e) {<br />
<br />
41&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
e.printStackTrace();<br />
<br />
42&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
43&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
44&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
public static void main(String[] args) {<br />
<br />
45&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
new DomParse();<br />
<br />
46&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
47 }<br />
<br />
四、&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
代码解释<br />
<br />
<br />
<br />
先看看这个程序引用类：<br />
<br />
import <a title="java" href="http://www.blogjava.net/jerryhanwei" >java</a>.io.FileInputStream;<br />
<br />
import <a title="java" href="http://www.blogjava.net/jerryhanwei" >java</a>.io.FileNotFoundException;<br />
<br />
import <a title="java" href="http://www.blogjava.net/jerryhanwei" >java</a>.io.IOException;<br />
<br />
import <a title="java" href="http://www.blogjava.net/jerryhanwei" >java</a>.io.InputStream;<br />
<br />
import javax.xml.parsers.DocumentBuilder;<br />
<br />
import javax.xml.parsers.DocumentBuilderFactory;<br />
<br />
import javax.xml.parsers.ParserConfigurationExcep<wbr>tion;<br />
<br />
//下面主要是org.xml.sax包的类<br />
<br />
import org.w3c.dom.Document;<br />
<br />
import org.w3c.dom.Element;<br />
<br />
import org.w3c.dom.Node;<br />
<br />
import org.w3c.dom.NodeList;<br />
<br />
import org.xml.sax.SAXException;<br />
<br />
上面那么简单的代码一看就明白了，但是为了介绍个DOM编程的大概还是来看看这个程序吧：<br />
<br />
（1）&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
得到DOM解析器的工厂实例<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
DocumentBuilderFactory
domfac=DocumentBuilderFactory.newInstance();<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
得到javax.xml.parsers.DocumentBuilderFactory;类的实例就是我们要的解析器工厂<br />
<br />
（2）&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
从DOM工厂获得DOM解析器<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
DocumentBuilder dombuilder=domfac.newDocumentBuilder();<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
通过javax.xml.parsers.DocumentBuilderFactory实例的静态方法newDocumentBuilder()得到DOM解析器<br />
<br />
（3）&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
把要解析的XML文档转化为输入流，以便DOM解析器解析它<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
InputStream is=new FileInputStream("bin/library.xml");<br />
<br />
InputStream是一个接口。<br />
<br />
（4）&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
解析XML文档的输入流，得到一个Document<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
Document doc=dombuilder.parse(is);<br />
<br />
由XML文档的输入流得到一个org.w3c.dom.Document对象，以后的处理都是对Document对象进行的<br />
<br />
（5）&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
得到XML文档的根节点<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
Element root=doc.getDocumentElement();<br />
<br />
在DOM中只有根节点是一个org.w3c.dom.Element对象。<br />
<br />
（6）得到节点的子节点<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
NodeList&nbsp;<wbr>&nbsp;<wbr>
books=root.getChildNodes();<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
for(int i=0;i&lt;books.getLength();i++){<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
Node book=books.item(i);<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
这是用一个org.w3c.dom.NodeList接口来存放它所有子节点的，还有一种轮循子节点的方法，后面有介绍<br />
<br />
（7） 取得节点的属性值<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
String
email=book.getAttributes().getNamedItem("email").getNodue();<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(email);<br />
<br />
注意，节点的属性也是它的子节点。它的节点类型也是Node.ELEMENT_NODE<br />
<br />
（8）轮循子节点<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
for(Node
node=book.getFirstChild();node!=null;node=node.getNextSibling()){<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if(node.getNodeType()==Node.ELEMENT_NODE){<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if(node.getNodeName().equals("name")){<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
String name=node.getNodue();<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
String name1=node.getFirstChild().getNodue();<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(name);<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(name1);<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if(node.getNodeName().equals("price")){<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
String price=node.getFirstChild().getNodue();<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(price);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
<br />
这段代码的打印输出为：<br />
<br />
null<br />
<br />
<br />
<br />
alterrjzjh<br />
<br />
<br />
<br />
jjjjjj<br />
<br />
从上面可以看出<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
String
name=node.getNodue();&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
是一个空值。而<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
String
name1=node.getFirstChild().getNodue();&nbsp;<wbr>&nbsp;<wbr>
才是真正的值，这是因为DOM把&lt;name&gt;rjzjh&lt;/name&gt;也当作是两层结构的节点，其父节点
为&lt;name&gt;节点本身，且它只有一个子节点（如果有属性的话就不止一个了！），子节点是它的值&#8220;rjzjh&#8221;，所以我们看到上面的结果。<br />
<br />
还有，子节点的节点类型也是Node.ELEMENT_NODE型的，node.getNextSibling()方法是取下一个相邻的节点。<br />
<br />
五、&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
DOM结点<br />
<br />
<br />
<br />
DOM是一些节点的集合，由于文档中可能包含有不同类型的信息，所以定义了几种不同类型的节点。DOM中最常见的节点类型有：<br />
<br />
（1）元素：<br />
<br />
元素是XML的基本构件。元素的子节点可以是其它元素、文本节点或两者都有。元素节点还可以只含有属性这一唯一类型的节点。<br />
<br />
（2）属性：<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
属性节点包含关于元素节点的信息，但它不是元素的子节点<br />
<br />
（3）文本：<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
文本节点文本信息，或干脆是空白的文本。<br />
<br />
（4）文档：<br />
<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
文档节点是整个文档中所有其它节点的父节点<br />
<br />
元素是一种很重要的类型节点，元素节点可以是其他节点的容器。<br />
<br />
六、DOM解析XML文档的步骤：<br />
<br />
<br />
<br />
主要几步见第四点的（1），（2），（3），（4）步骤
</div>
<div floatleft="">
已投稿到：
<!--（<a href="http://my2008.sina.com.cn/blog/rule.html" target="_blank">规则</a>）（<a href="#" onclick="return false;"><span onclick="showMyRecord();">积分</span></a>）
//-->
<a href="http://blog.sina.com.cn/lm/114/117/day.html" target="_blank">排行榜</a>
<a href="http://q.sina.com.cn/blog_groups.php?fid=5a7cc3aa0100dvou" target="_blank">圈子</a>
</div>
<div floatright="">
<a>阅读</a><span id="r_5a7cc3aa0100dvou" class="sub">(5)</span>|<a href="http://blog.sina.com.cn/s/blog_5a7cc3aa0100dvou.html%7Etype=v5_one&amp;label=rela_prevarticle#comment">评论</a><span id="c_5a7cc3aa0100dvou" class="sub">(0)</span>|<a id="f_5a7cc3aa0100dvou" href="http://blog.sina.com.cn/s/blog_5a7cc3aa0100dvou.html%7Etype=v5_one&amp;label=rela_prevarticle#" onclick="$articleManage('5a7cc3aa0100dvou',5);return false;">收藏</a><span id="fn_5a7cc3aa0100dvou" class="sub">(0)</span>|<a href="http://blog.sina.com.cn/main_v5/ria/print.html?blog_id=blog_5a7cc3aa0100dvou" target="_blank">打印</a>|<a id="q_5a7cc3aa0100dvou" onclick="$jubao('5a7cc3aa0100dvou')" href="javascript:;">举报</a>
</div>
<div>前一篇：<a href="http://blog.sina.com.cn/s/blog_5a7cc3aa0100dv8s.html%7Etype=v5_one&amp;label=rela_prevarticle">Java数据库连接池</a><br />
后一篇：<a href="http://blog.sina.com.cn/s/blog_5a7cc3aa0100dvoy.html%7Etype=v5_one&amp;label=rela_nextarticle">java写的用DOM来解析、修改、删除XML</a></div><img src ="http://www.blogjava.net/jerryhanwei/aggbug/282861.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jerryhanwei/" target="_blank">hanwei</a> 2009-06-17 15:48 <a href="http://www.blogjava.net/jerryhanwei/archive/2009/06/17/282861.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对xml增删改查 http://blog.sina.com.cn/s/blog_5a7cc3aa0100dvoy.html</title><link>http://www.blogjava.net/jerryhanwei/archive/2009/06/17/282843.html</link><dc:creator>hanwei</dc:creator><author>hanwei</author><pubDate>Wed, 17 Jun 2009 06:10:00 GMT</pubDate><guid>http://www.blogjava.net/jerryhanwei/archive/2009/06/17/282843.html</guid><wfw:comment>http://www.blogjava.net/jerryhanwei/comments/282843.html</wfw:comment><comments>http://www.blogjava.net/jerryhanwei/archive/2009/06/17/282843.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jerryhanwei/comments/commentRss/282843.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jerryhanwei/services/trackbacks/282843.html</trackback:ping><description><![CDATA[<div>
<div style="display: inline;">
<strong id="t_5a7cc3aa0100dvoy">java写的用DOM来解析、修改、删除XML</strong>(2009-06-03 10:31:26)</div>
</div>
<div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tbody>
        <tr>
            <td>
            <script>
            var $tag='杂谈';
            var $tag_code='df810c89dc4a0949bcf94493c18bc8b7';
            </script>
            标签：<a href="http://uni.sina.com.cn/c.php?t=blog&amp;k=%D4%D3%CC%B8&amp;ts=bpost&amp;stype=tag" class="tag" target="_blank">杂谈</a><wbr>&nbsp;
            </td>
            <td align="right" valign="top" width="250">分类：<a href="http://blog.sina.com.cn/s/articlelist_1518125994_7_1.html">xml</a></td>
        </tr>
    </tbody>
</table>
</div>
<div id="articleBody">
<p><u><strong>magicalXML.java</strong></u></p>
<p>package com.magicalxml;</p>
<p>import <a title="java" href="http://www.blogjava.net/jerryhanwei" >java</a>.io.File;<br />
import <a title="java" href="http://www.blogjava.net/jerryhanwei" >java</a>.io.FileNotFoundException;<br />
import <a title="java" href="http://www.blogjava.net/jerryhanwei" >java</a>.io.IOException;<br />
import javax.xml.parsers.DocumentBuilder;<br />
import javax.xml.parsers.DocumentBuilderFactory;<br />
import javax.xml.parsers.ParserConfigurationExcep<wbr>tion;<br />
import javax.xml.transform.Transformer;<br />
import javax.xml.transform.TransformerConfiguration<wbr>Exception;<br />
import javax.xml.transform.TransformerException;<br />
import javax.xml.transform.TransformerFactory;<br />
import javax.xml.transform.dom.DOMSource;<br />
import javax.xml.transform.stream.StreamResult;<br />
import org.w3c.dom.*;<br />
import org.xml.sax.SAXException;</p>
<p>public class magicalXML {<br />
public static void main(String[] args) throws
ParserConfigurationExcep<wbr>tion {<br />
&nbsp;<wbr>&nbsp;<wbr> magicalXML u = new
magicalXML();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
DocumentBuilderFactory dbf =
DocumentBuilderFactory.newInstance();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
DocumentBuilder db = dbf.newDocumentBuilder();<br />
&nbsp;<wbr>&nbsp;<wbr> try {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
//读取源文件,如果不存在就创建一个新的给它<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> File f = new
File("E:""XML""test""magical123.xml");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> Document d =
db.parse(f);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
TransformerFactory tfFac = TransformerFactory.newInstance();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> Transformer
tf = tfFac.newTransformer();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
tf.setOutputProperty("encoding","GB2312");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> StreamResult
result = new StreamResult(System.out);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> DOMSource
source = new DOMSource(d);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("修改前的XML:");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
tf.transform(source, result);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("修改后的XML:");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
tf.setOutputProperty("encoding","GB2312");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
tf.transform(source, result);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
//保存修改后的xml文件<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
tf.transform(source, new StreamResult(new File(<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
"E:""XML""test""magical123.xml")));</p>
<p>&nbsp;<wbr>&nbsp;<wbr> } catch (SAXException e)
{<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
e.printStackTrace();<br />
&nbsp;<wbr>&nbsp;<wbr> } catch (FileNotFoundException
e) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
//创建xml<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> Document dl
= db.newDocument();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
u.create(dl);<br />
&nbsp;<wbr>&nbsp;<wbr> } catch
(TransformerConfiguration<wbr>Exception e) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
e.printStackTrace();<br />
&nbsp;<wbr>&nbsp;<wbr> } catch (TransformerException
e) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
e.printStackTrace();<br />
&nbsp;<wbr>&nbsp;<wbr> } catch (IOException e)
{<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
e.printStackTrace();<br />
&nbsp;<wbr>&nbsp;<wbr> }</p>
<p>}<br />
//创建方法<br />
public void create(Document d) {<br />
&nbsp;<wbr>&nbsp;<wbr> Element pub =
d.createElement("publication");<br />
&nbsp;<wbr>&nbsp;<wbr> Element book =
d.createElement("book");<br />
&nbsp;<wbr>&nbsp;<wbr> Element title =
d.createElement("Title");<br />
&nbsp;<wbr>&nbsp;<wbr> Element author =
d.createElement("Author");<br />
&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr>
title.appendChild(d.createTextNode("<a title="java" href="http://www.blogjava.net/jerryhanwei" >java</a> basic"));<br />
&nbsp;<wbr>&nbsp;<wbr>
author.appendChild(d.createTextNode("john"));<br />
&nbsp;<wbr>&nbsp;<wbr> book.appendChild(title);<br />
&nbsp;<wbr>&nbsp;<wbr>
book.appendChild(author);<br />
&nbsp;<wbr>&nbsp;<wbr> pub.appendChild(book);<br />
&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr> book =
d.createElement("book");<br />
&nbsp;<wbr>&nbsp;<wbr> title =
d.createElement("Title");<br />
&nbsp;<wbr>&nbsp;<wbr> author =
d.createElement("Author");<br />
&nbsp;<wbr>&nbsp;<wbr>
title.appendChild(d.createTextNode("magicalbook"));<br />
&nbsp;<wbr>&nbsp;<wbr>
author.appendChild(d.createTextNode("枫叶"));<br />
&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr> book.appendChild(title);<br />
&nbsp;<wbr>&nbsp;<wbr>
book.appendChild(author);<br />
&nbsp;<wbr>&nbsp;<wbr> pub.appendChild(book);<br />
&nbsp;<wbr>&nbsp;<wbr> //增加到根节点<br />
&nbsp;<wbr>&nbsp;<wbr> d.appendChild(pub);<br />
&nbsp;<wbr>&nbsp;<wbr> try {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
TransformerFactory tf = TransformerFactory.newInstance();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> Transformer
f = tf.newTransformer();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
f.setOutputProperty("encoding","GB2312");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("正在创建新的xml...");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
f.transform(new DOMSource(d), new StreamResult(new File(<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
"E:""XML""test""magical123.xml")));<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("创建新的xml成功!新的xml如下:");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
f.transform(new DOMSource(d),new StreamResult(System.out));<br />
&nbsp;<wbr>&nbsp;<wbr> }<br />
&nbsp;<wbr>&nbsp;<wbr> catch (Exception e) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
e.printStackTrace();<br />
&nbsp;<wbr>&nbsp;<wbr> }<br />
}<br />
//读取元素名称和文本值方法<br />
public void read(Document d) {<br />
&nbsp;<wbr>&nbsp;<wbr> NodeList nl =
d.getElementsByTagName("*"); // 取所有结点<br />
&nbsp;<wbr>&nbsp;<wbr> for (int i = 0; i
&lt; nl.getLength(); i++) {</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> if
(nl.item(i).getFirstChild().getNodeType() ==
Node.ELEMENT_NODE)<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("元素名称:"+nl.item(i).getNodeName());<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> else {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("元素名称:"+nl.item(i).getNodeName());<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("文本值:"+nl.item(i).getTextContent());<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> }<br />
&nbsp;<wbr>&nbsp;<wbr> }<br />
}<br />
//元素增加属性方法<br />
public void add(Document d, String title, String attr, String
value) {<br />
&nbsp;<wbr>&nbsp;<wbr> NodeList nl =
d.getElementsByTagName("Title");<br />
&nbsp;<wbr>&nbsp;<wbr> Element el =
d.getDocumentElement();<br />
&nbsp;<wbr>&nbsp;<wbr> Node n;<br />
&nbsp;<wbr>&nbsp;<wbr> Element author;<br />
&nbsp;<wbr>&nbsp;<wbr> String str;<br />
&nbsp;<wbr>&nbsp;<wbr> for(int i=0;
i&lt;nl.getLength(); i++) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> n =
nl.item(i);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> author =
(Element)n.getNextSibling().getNextSibling();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if(title.equals(n.getFirstChild().getNodue())) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("为元素"+author.getNodeName()+"增加"+attr+"属性:"+value);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
author.setAttribute(attr, value);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />
&nbsp;<wbr>&nbsp;<wbr> }<br />
}<br />
//修改方法<br />
public void update(Document doc, String title, String author)
{<br />
&nbsp;<wbr>&nbsp;<wbr> NodeList nl =
doc.getElementsByTagName("Title");<br />
&nbsp;<wbr>&nbsp;<wbr> String strNode;<br />
&nbsp;<wbr>&nbsp;<wbr> Element e;<br />
//&nbsp;<wbr>&nbsp;<wbr> Node n;<br />
&nbsp;<wbr>&nbsp;<wbr>
System.out.println("有"+nl.getLength()+"个book节点");<br />
&nbsp;<wbr>&nbsp;<wbr> try {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> for(int i =
0; i &lt; nl.getLength(); i++) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
e = (Element) nl.item(i);<br />
//&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
n = nl.item(i);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
strNode = e.getFirstChild().getNodue();<br />
//&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(strNode);<br />
//&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
strNode = n.getFirstChild().getNodue();<br />
//&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(strNode);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if (title.equals(strNode)) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
Element Eauthor = (Element)
e.getNextSibling().getNextSibling();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("修改前的Author:"+Eauthor.getFirstChild().getNodue());<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
Eauthor.getFirstChild().setNodue(author);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("修改后的Author:"+Eauthor.getFirstChild().getNodue());<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> }<br />
&nbsp;<wbr>&nbsp;<wbr> } catch (Exception ee) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
ee.printStackTrace();<br />
&nbsp;<wbr>&nbsp;<wbr> }<br />
}<br />
//删除方法<br />
public void delete(Document doc,String title) {<br />
&nbsp;<wbr>&nbsp;<wbr> NodeList nl =
doc.getElementsByTagName("Title");<br />
&nbsp;<wbr>&nbsp;<wbr> Element e =
doc.getDocumentElement();<br />
&nbsp;<wbr>&nbsp;<wbr> Node n;<br />
&nbsp;<wbr>&nbsp;<wbr> String strNode;<br />
&nbsp;<wbr>&nbsp;<wbr>
//System.out.println(""n有"+nl.getLength()+"个Title节点");<br />
&nbsp;<wbr>&nbsp;<wbr> try {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> for(int i=0;
i&lt;nl.getLength(); i++) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
n = nl.item(i).getFirstChild();<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
strNode = n.getNodue();<br />
//&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(e.getNodeName());<br />
//&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(e.getFirstChild().getNextSibling().getNodeName());<br />
//&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(nl.item(i).getNodeName());<br />
//&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(strNode);<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
if(("<a title="java" href="http://www.blogjava.net/jerryhanwei" >java</a> basic").equals(strNode)) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println(""n准备要删除的书名为"+title+"的作者是:"+nl.item(i).getNextSibling().getNextSibling().getFirstChild().getNodue());<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
e.getFirstChild().getNextSibling().removeChild(nl.item(i).getNextSibling().getNextSibling());<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
System.out.println("删除成功!");<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
}<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> }<br />
&nbsp;<wbr>&nbsp;<wbr> } catch (Exception ee) {<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>
ee.printStackTrace();<br />
&nbsp;<wbr>&nbsp;<wbr> }<br />
}<br />
}</p>
<p>&nbsp;<wbr></p>
<p><u><strong>magical123.xml</strong></u></p>
<p>&lt;?xml version="1.0" encoding="UTF-8"
standalone="no"?&gt;&lt;publication&gt;<br />
&lt;book&gt;<br />
&nbsp;<wbr>&nbsp;<wbr>
&lt;Title&gt;java
basic&lt;/Title&gt;<br />
&nbsp;<wbr>&nbsp;<wbr>
&lt;Author&gt;john&lt;/Author&gt;<br />
&lt;/book&gt;<br />
&lt;book&gt;<br />
&nbsp;<wbr>&nbsp;<wbr>
&lt;Title&gt;magicalbook&lt;/Title&gt;<br />
&nbsp;<wbr>&nbsp;<wbr>
&lt;Author&gt;magicalboy&lt;/Author&gt;<br />
&lt;/book&gt;<br />
&lt;/publication&gt;</p>
</div>
<div floatleft="">
已投稿到：
<!--（<a href="http://my2008.sina.com.cn/blog/rule.html" target="_blank">规则</a>）（<a href="#" onclick="return false;"><span onclick="showMyRecord();">积分</span></a>）
//-->
<a href="http://blog.sina.com.cn/lm/114/117/day.html" target="_blank">排行榜</a>
<a href="http://q.sina.com.cn/blog_groups.php?fid=5a7cc3aa0100dvoy" target="_blank">圈子</a>
</div>
<div floatright="">
<a>阅读</a><span id="r_5a7cc3aa0100dvoy" class="sub">(27)</span>|<a href="http://blog.sina.com.cn/s/blog_5a7cc3aa0100dvoy.html#comment">评论</a><span id="c_5a7cc3aa0100dvoy" class="sub">(0)</span>|<a id="f_5a7cc3aa0100dvoy" href="http://blog.sina.com.cn/s/blog_5a7cc3aa0100dvoy.html#" onclick="$articleManage('5a7cc3aa0100dvoy',5);return false;">收藏</a><span id="fn_5a7cc3aa0100dvoy" class="sub">(0)</span>|<a href="http://blog.sina.com.cn/main_v5/ria/print.html?blog_id=blog_5a7cc3aa0100dvoy" target="_blank">打印</a>|<a id="q_5a7cc3aa0100dvoy" onclick="$jubao('5a7cc3aa0100dvoy')" href="javascript:;">举报</a>
</div>
<div>前一篇：<a href="http://blog.sina.com.cn/s/blog_5a7cc3aa0100dvou.html%7Etype=v5_one&amp;label=rela_prevarticle">dom解析xml</a><br />
后一篇：<a href="http://blog.sina.com.cn/s/blog_5a7cc3aa0100dvp0.html%7Etype=v5_one&amp;label=rela_nextarticle">Java与XML联合编程之DOM篇收藏</a></div><img src ="http://www.blogjava.net/jerryhanwei/aggbug/282843.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jerryhanwei/" target="_blank">hanwei</a> 2009-06-17 14:10 <a href="http://www.blogjava.net/jerryhanwei/archive/2009/06/17/282843.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XSL中文手册</title><link>http://www.blogjava.net/jerryhanwei/archive/2009/06/11/281372.html</link><dc:creator>hanwei</dc:creator><author>hanwei</author><pubDate>Thu, 11 Jun 2009 01:51:00 GMT</pubDate><guid>http://www.blogjava.net/jerryhanwei/archive/2009/06/11/281372.html</guid><wfw:comment>http://www.blogjava.net/jerryhanwei/comments/281372.html</wfw:comment><comments>http://www.blogjava.net/jerryhanwei/archive/2009/06/11/281372.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jerryhanwei/comments/commentRss/281372.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jerryhanwei/services/trackbacks/281372.html</trackback:ping><description><![CDATA[http://www.codecoke.com/tech/XSL-Tutorial/contents.html#id7<img src ="http://www.blogjava.net/jerryhanwei/aggbug/281372.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jerryhanwei/" target="_blank">hanwei</a> 2009-06-11 09:51 <a href="http://www.blogjava.net/jerryhanwei/archive/2009/06/11/281372.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XSL-XSLT入门教程</title><link>http://www.blogjava.net/jerryhanwei/archive/2009/06/10/281164.html</link><dc:creator>hanwei</dc:creator><author>hanwei</author><pubDate>Wed, 10 Jun 2009 07:25:00 GMT</pubDate><guid>http://www.blogjava.net/jerryhanwei/archive/2009/06/10/281164.html</guid><wfw:comment>http://www.blogjava.net/jerryhanwei/comments/281164.html</wfw:comment><comments>http://www.blogjava.net/jerryhanwei/archive/2009/06/10/281164.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jerryhanwei/comments/commentRss/281164.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jerryhanwei/services/trackbacks/281164.html</trackback:ping><description><![CDATA[http://www.sudu.cn/info/html/sitemanage/20071227/47945.html<img src ="http://www.blogjava.net/jerryhanwei/aggbug/281164.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jerryhanwei/" target="_blank">hanwei</a> 2009-06-10 15:25 <a href="http://www.blogjava.net/jerryhanwei/archive/2009/06/10/281164.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>