<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<title><![CDATA[王大帅]]></title>
        <image>
        <title>http://hi.baidu.com</title>
        <link>http://hi.baidu.com</link>
        <url>http://img.baidu.com/img/logo-hi.gif</url>
        </image>
<description><![CDATA[分享技术，共同成长！——王大帅的个人空间：http://wds.3u.cn，欢迎大家光临！]]></description>
<link>http://hi.baidu.com/dashuaiwang</link>
<language>zh-cn</language>
<generator>www.baidu.com</generator>
<ttl>5</ttl>


<item>
        <title><![CDATA[Windows2003内存3.25G问题_Windows2003Server大内存显示_更改Windows2003默认内存显示]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/72da438269dc75a80df4d201.html]]></link>
        <description><![CDATA[
		
		<h2><font size="3">Windows2003内存3.25G问题_Windows2003<font face="Times New Roman">Server</font>大内存显示_更改Windows2003默认内存显示(Authour: 王大帅 Email: <a href="mailto:dashuaiwang@126.com">dashuaiwang@126.com</a> 个人空间：<a href="http://wds.3u.cn/">http://wds.3u.cn</a>):</font></h2>
<p><font size="3"><font face="SimSun "><font face="Times New Roman ">HP DL580G58G</font></font><font face="SimSun ">内存，安装完</font><font face="SimSun "><font face="Times New Roman ">Windows 2003 Enterprise Edition Service Pack 2</font></font><font face="SimSun ">后，开机自检时内存</font><font face="SimSun "><font face="Times New Roman ">8G</font></font><font face="SimSun ">，登陆到系统后查看内存大小为</font><font face="SimSun "><font face="Times New Roman ">3.25G</font></font><font face="SimSun ">。打</font><font face="SimSun "><font face="Times New Roman ">HP</font></font><font face="SimSun ">售后热线得到如下解决方案：</font></font><br>
<font size="3"><font face="SimSun "><font face="Times New Roman ">Window</font></font><font face="SimSun ">默认支持的最大内存为</font><font face="SimSun "><font face="Times New Roman ">3.25G</font></font><font face="SimSun ">，其它的内存留给</font><font face="SimSun "><font face="Times New Roman ">PCI</font></font><font face="SimSun ">接口使用，可以通过修改</font><font face="SimSun "><font face="Times New Roman ">C</font></font><font face="SimSun ">盘下</font><font face="SimSun "><font face="Times New Roman ">boot.ini</font></font><font face="SimSun ">文件释放内存。</font></font><br>
<font face="SimSun "><font size="3"><font face="Times New Roman ">[boot loader]</font></font></font><br>
<font face="SimSun "><font size="3"><font face="Times New Roman ">timeout=30</font></font></font><br>
<font face="SimSun "><font size="3"><font face="Times New Roman ">default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS</font></font></font><br>
<font face="SimSun "><font size="3"><font face="Times New Roman ">[operating systems]</font></font></font><br>
<font face="SimSun "><font size="3"><font face="Times New Roman ">multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=&quot;Windows <font color="#000000">Server</font> 2003,Enterprise&quot; /fastdetect /NoExecute=OptOut<font color="#ff0000">&nbsp;&nbsp;  /pae</font></font></font></font><br>
<font size="3"><font face="SimSun ">注：红色为修改内容</font></font></p>
<div class="t_msgfont">
<p><font size="3"><font face="SimSun ">修改好后重新启动即可；</font></font></p>
<p><font size="3"><font face="SimSun ">Windows Server 2003 Enterprise Edition(企业版):<br>
<br>
* 支持8节点集群、NUMA；支持8路SMP<br>
* 内存支持: (i386)32位版支持32GB内存<br>
&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  (X64) 64位版支持64GB内存<br>
windows 2003 默认只支持小内存模式(最大3G)大于3G需要编辑Boot.ini加 /pae 参数开启大内存模式才能支持3G以上内存,按以上操作编辑Boot.ini；重新启动仍有问题就是你内存兼容有问题.</font></font></p>
<p><font size="3"><font face="SimSun ">Windows Server 2003 标准版,英文名称:Windows Server 2003 Standard Edition<br>
支持4个处理器；最低支持256MB的内存，最高支持4GB的内存。<br>
Windows Server 2003 企业版,英文名称:Windows Server 2003 Enterprise Edition<br>
在一个系统或分区中最多支持八个处理器，八节点群集，最高支持32GB的内存.<br>
Windows Server 2003 数据中心版,英文名称:Windows 2003 Datacenter Edition<br>
分为32位版与64位版,32位版支持32个处理器，支持8点集群；最低要求128M内存，最高支持512GB的内存。64位版支持Itanium和Itanium2两种处理器，支持64个处理器与支持8点集群；最低支持1GB的内存，最高支持512GB的内存。 <br>
</font></font></p>
</div> <a href="http://hi.baidu.com/dashuaiwang/blog/item/72da438269dc75a80df4d201.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%BE%AD%D1%E9%D7%DC%BD%E1">经验总结</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/72da438269dc75a80df4d201.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-11  17:02</pubDate>
        <category><![CDATA[经验总结]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/72da438269dc75a80df4d201.html</guid>
</item>

<item>
        <title><![CDATA[CnPackCnWizards最新版_CnPackCnWizardsV0.9.4.547下载_CnPack专家包_CnPack多国语言包_CnPack源码下载]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/4dabcc88eb9c269ea5c272f8.html]]></link>
        <description><![CDATA[
		
		<p>CnPack CnWizards最新版_CnPack CnWizards V0.9.4.547下载_CnPackCnWizards 专家包下载_CnPackCnWizards 多国语言包下载_CnPackCnWizards 专家包源码下载(Authour: 王大帅 Email: <a href="mailto:dashuaiwang@126.com">dashuaiwang@126.com</a> 个人空间：<a href="http://wds.3u.cn/">http://wds.3u.cn</a>):</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  CnPack 是由互联网上一群 中国程序员 开发的 开放源码 的 自由软件 项目，当前主要的工作成果包括 CnWizards 专家包、CnPack 组件包以及 CVSTracNT 错误跟踪系统等。<br>
　　CnPack IDE 专家包（CnWizards）是一组集成在 Delphi/C++ Builder/CodeGear RAD Studio 的 IDE 中，用于增强 IDE 功能、提高 IDE 的可用性及开发效率的工具。<br>
　　CnPack 组件包（CnVCL）是一个涵盖不可视工具组件、界面控件、网络通讯组件、多语言处理等多个方面的 Delphi/C++ Builder 组件包。<br>
　　CVSTrac 是由 D. Richard Hipp 为 CVS 开发的基于 WEB 的任务管理及错误跟踪系统，CVSTracNT 为其 Windows 下的移植版，由 CnPack 开发组开发及维护。</p>
<p>CnPack CnWizards V0.9.4.547下载：<a href="http://www.cnpack.org/download.php?id=384&amp;lang=zh-cn" target="_blank">CnWizards V0.9.4.547 安装程序</a>&nbsp;&nbsp;  <a href="http://www.cnpack.org/download.php?id=385&amp;lang=zh-cn" target="_blank">CnWizards V0.9.4.547 源代码（包括 CnPack 组件包 CnVcl 内测版）</a></p>
<p>CnPack CnWizards 0.9.0.470下载：<a href="http://www.cnpack.org/download.php?id=351&amp;lang=zh-cn" target="_blank">CnWizards V0.9.0.470 安装程序</a>&nbsp;&nbsp;  <a href="http://www.cnpack.org/download.php?id=352&amp;lang=zh-cn" target="_blank">CnWizards V0.9.0.470 源代码</a></p>
<p>CnPack CnWizards 0.8.0.217下载：<a href="http://www.cnpack.org/download.php?id=258&amp;lang=zh-cn" target="_blank">CnWizards V0.8.0.217 安装程序</a>&nbsp;&nbsp;  <a href="http://www.cnpack.org/download.php?id=259&amp;lang=zh-cn" target="_blank">CnWizards V0.8.0.217 源代码</a></p>
<p>更多CnPack CnWizards 版本下载，请查看这里:<a href="http://www.cnpack.org/showmaster.php?id=21&amp;lang=zh-cn">http://www.cnpack.org/showmaster.php?id=21&amp;lang=zh-cn</a></p>
<p>CnPack Multi-Language 多语组件包下载 :<a href="http://www.cnpack.org/download.php?id=331&amp;lang=zh-cn" target="_blank">CnPack Multi-Language 多语组件包源码例子文档下载</a></p>
<p>更多CnPack CnVCL 组件包下载，请查看这里:<a href="http://www.cnpack.org/showmaster.php?id=20&amp;lang=zh-cn">http://www.cnpack.org/showmaster.php?id=20&amp;lang=zh-cn</a></p> <a href="http://hi.baidu.com/dashuaiwang/blog/item/4dabcc88eb9c269ea5c272f8.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%B9%A4%BE%DF%C8%ED%BC%FE">工具软件</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/4dabcc88eb9c269ea5c272f8.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-10  12:47</pubDate>
        <category><![CDATA[工具软件]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/4dabcc88eb9c269ea5c272f8.html</guid>
</item>

<item>
        <title><![CDATA[Delphi程序与Chm帮助关联的实现源码]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/f97943eef31d22f1b3fb950e.html]]></link>
        <description><![CDATA[
		
		<p>Delphi程序与Chm帮助关联的实现源码(Authour: 王大帅 Email: <a href="mailto:dashuaiwang@126.com">dashuaiwang@126.com</a> 个人空间：<a href="http://wds.3u.cn/">http://wds.3u.cn</a>):</p>
<p>uses</p>
<p>shellapi;</p>
<p>……</p>
<p>procedure TMainForm.N3Click(Sender: TObject);<br>
var<br>
&nbsp;&nbsp;&nbsp;&nbsp;  HWndHelp:Hwnd;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  i:integer;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  AppPath:string;<br>
begin</p>
<p>&nbsp;&nbsp;&nbsp;  //获取项目文件路径</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  AppPath:=ExtractFileDir(Application.ExeName);</p>
<p>&nbsp;&nbsp;  //检查帮助窗口是否已经存在</p>
<p>&nbsp;&nbsp;  HWndHelp:=FindWindow(nil,PCHAR('涟钢调度计划使用说明书'));</p>
<p>&nbsp;&nbsp;  if HwndHelp&lt;&gt;0 then // 如存在则关闭</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  SendMessage(HwndHelp,WM_CLOSE,0,0);</p>
<p>&nbsp;&nbsp;  i:=ShellExecute(handle, 'open',Pchar(AppPath+'\涟钢调度计划使用说明书.chm'),nil, nil, sw_ShowNormal);</p>
<p>&nbsp;&nbsp;  if i&lt;&gt;42 then</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Showmessage(' 涟钢调度计划使用说明书帮助文件损坏！');<br>
end;</p> <a href="http://hi.baidu.com/dashuaiwang/blog/item/f97943eef31d22f1b3fb950e.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%BE%AD%D1%E9%D7%DC%BD%E1">经验总结</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/f97943eef31d22f1b3fb950e.html#comment">查看评论</a>]]></description>
        <pubDate>2009-10-26  18:04</pubDate>
        <category><![CDATA[经验总结]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/f97943eef31d22f1b3fb950e.html</guid>
</item>

<item>
        <title><![CDATA[Macrobject Word-2-CHM 转换专家 3.0.0.135 破解版]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/58efbb8b28e150759f2fb455.html]]></link>
        <description><![CDATA[
		
		<p>Macrobject Word-2-CHM 转换专家 3.0.0.135 破解版&nbsp;&nbsp;&nbsp;  <br>
软件大小： 1.54MB <br>
软件语言： 简体中文 <br>
软件类别： 国产软件 / 转换翻译 <br>
授权方式： 破解软件 <br>
应用平台： Win2003, WinXP, Win2000, NT, WinME <br>
您需要同时为公司的产品提供纸质的文档和 CHM 帮助文件吗？您需要制作 CHM 格式的电子书但您不会 HTML 吗？<br>
　　把您的烦恼交给 Word-2-CHM 转换专家吧，它是一款从 Word 文档快速生成 CHM 文件的工具，您可以用它来生成 CHM 帮助文件或 CHM 电子书。<br>
　　以前制作 CHM 文件真是一件既费时又枯燥的工作，制作一个 500 页的 CHM 文件（不包括文字录入）可能要花上 1 周甚至更多的时间，一旦文字变更了，一切还得重头再来。<br>
　　现在有了 Word-2-CHM，您无需任何的 HTML 及 CHM 知识，只需要编写好 Word 文档，点击一下鼠标，然后去倒杯茶吧……。您甚至还来不及喝一口茶，您的 CHM文件已经生成好了。Word-2-CHM 生成的 CHM 文件不仅完全保留了 Word 文档的格式和样式，还能根据大纲自动生成目录树。<br>
　　您还可以使用 Word-2-CHM 的命令行进行自动化的 CHM 文件生成。　</p>
<p>******************************************<br>
注册信息：<br>
用户姓名：GUANTAO<br>
邮件地址：<a href="mailto:guantao@publica.bj.cninfo.net">guantao@publica.bj.cninfo.net</a><br>
序列号：34FC-9EC3-120E-220F<br>
******************************************</p>
<p><span>▼ Macrobject Word-2-CHM 3.0.0.135 ▼</span></p>
<dd>
<div>
<div class="epages">
<div>
<div class="epages">
<p><u><font style="background-color: #f7f9ff" color="#333333"><a href="http://www.rsdown.cn/downinfo/2505.html">http://www.rsdown.cn/downinfo/2505.html</a></font></u></p>
<p><a href="http://www.rsdown.cn/download.asp?id=2505&amp;dp=1&amp;fid=2&amp;uuname=0000000697869881004&amp;tflag=1256542355&amp;pin=9fa871380988eaf851ae8557b309fe51&amp;union=thunder"><font style="background-color: #f7f9ff" color="#333333">福建电信[㊣ Download 高速下载-鼠标右键选择&lsquo;迅雷&rsquo;下载]</font></a> <a href="http://www.rsdown.cn/download.asp?id=2505&amp;dp=1&amp;fid=2&amp;uuname=0000000697869881004&amp;tflag=1256542355&amp;pin=9fa871380988eaf851ae8557b309fe51"><font style="background-color: #f7f9ff" color="#333333">福建电信[㊣ Download 普通单击下载-限速]</font></a></p>
</div>
</div>
<div>
<div class="epages"><a href="http://www.rsdown.cn/download.asp?id=2505&amp;dp=1&amp;fid=10&amp;uuname=0000000697869881004&amp;tflag=1256542355&amp;pin=5ca2921c05b26cbd4917e37d70b9f530&amp;union=thunder"><font style="background-color: #f7f9ff" color="#333333">北京网通[㊣ Download 高速下载-鼠标右键选择&lsquo;迅雷&rsquo;下载]</font></a> <a href="http://www.rsdown.cn/download.asp?id=2505&amp;dp=1&amp;fid=10&amp;uuname=0000000697869881004&amp;tflag=1256542355&amp;pin=5ca2921c05b26cbd4917e37d70b9f530"><font style="background-color: #f7f9ff" color="#333333">北京网通[㊣ Download 普通单击下载-限速]</font></a></div>
</div>
<div>
<div class="epages"><a href="http://www.rsdown.cn/download.asp?id=2505&amp;dp=1&amp;fid=3&amp;uuname=0000000697869881004&amp;tflag=1256542355&amp;pin=9fa871380988eaf851ae8557b309fe51&amp;union=thunder"><font style="background-color: #f7f9ff" color="#333333">江苏电信[㊣ Download 高速下载-鼠标右键选择&lsquo;迅雷&rsquo;下载]</font></a> <a href="http://www.rsdown.cn/download.asp?id=2505&amp;dp=1&amp;fid=3&amp;uuname=0000000697869881004&amp;tflag=1256542355&amp;pin=9fa871380988eaf851ae8557b309fe51"><font style="background-color: #f7f9ff" color="#333333">江苏电信[㊣ Download 普通单击下载-限速]</font></a></div>
</div>
</div>
</div>
</dd> <a href="http://hi.baidu.com/dashuaiwang/blog/item/58efbb8b28e150759f2fb455.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%B9%A4%BE%DF%C8%ED%BC%FE">工具软件</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/58efbb8b28e150759f2fb455.html#comment">查看评论</a>]]></description>
        <pubDate>2009-10-26  16:40</pubDate>
        <category><![CDATA[工具软件]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/58efbb8b28e150759f2fb455.html</guid>
</item>

<item>
        <title><![CDATA[职场少走弯路的十条忠告]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/5e2523dbcb103d6cd1164e82.html]]></link>
        <description><![CDATA[
		
		如果你不喜欢现在的工作，要么辞职不干，要么就闭嘴不言。初出茅庐，往往眼高手低，心高气傲，大事做不了，小事不愿做。不要养成挑三拣四的习惯。<br>
<br>
<strong>一、买个闹钟，以便按时叫醒你。</strong><br>
<br>
贪睡和不守时，都将成为你工作和事业上的绊脚石，任何时候都一样。不仅要学会准时，更要学会提前。就如你坐车去某地，沿途的风景很美，你忍不住下车看一看，后来虽然你还是赶到了某地，却不是准时到达。<br>
<br>
&ldquo;闹钟&rdquo;只是一种简单的标志和提示，真正灵活、实用的时间，掌握在每个人的心中。<br>
<br>
<strong>二、如果你不喜欢现在的工作，要么辞职不干，要么就闭嘴不言。</strong><br>
<br>
初出茅庐，往往眼高手低，心高气傲，大事做不了，小事不愿做。不要养成挑三拣四的习惯。不要雨天烦打伞，不带伞又怕淋雨，处处表现出不满的情绪。记住，不做则已，要做就要做好。<br>
<br>
<strong>三、每个人都有孤独的时候。要学会忍受孤独，这样才会成熟起来。<br>
</strong><br>
年轻人嘻嘻哈哈、打打闹闹惯了，到了一个陌生的环境，面对形形色色的人和事，一下子不知所措起来，有时连一个可以倾心说话的地方也没有。这时，千万别浮躁，学会静心，学会忍受孤独。在孤独中思考，在思考中成熟，在成熟中升华。不要因为寂寞而乱了方寸，而去做无聊无益的事情，白白浪费了宝贵的时间。<br>
<br>
<strong>四、走运时要做好倒霉的准备。</strong><br>
<br>
有一天，一只狐狸走到一个葡萄园外，看见里面水灵灵的葡萄垂涎欲滴。可是外面有栅栏挡着，无法进去。于是它一狠心绝食三日，减肥之后，终于钻进葡萄园内饱餐一顿。当它心满意足地想离开葡萄园时，发觉自己吃得太饱，怎么也钻不出栅栏了。相信任何人都不愿做这样的狐狸。退路同样重要。饱带干粮，晴带雨伞，点滴积累，水到渠成。有的东西今天似乎一文不值，但有朝一日也许就会身价百倍。<br>
<br>
<strong>五、不要像玻璃那样脆弱。</strong><br>
<br>
有的人眼睛总盯着自己，所以长不高看不远;总是喜欢怨天尤人，也使别人无比厌烦。没有苦中苦，哪来甜中甜?不要像玻璃那样脆弱，而应像水晶一样透明，太阳一样辉煌，腊梅一样坚强。既然睁开眼睛享受风的清凉，就不要埋怨风中细小的沙粒。<br>
<br>
<strong>六、管住自己的嘴巴。</strong><br>
<br>
不要谈论自己，更不要议论别人。谈论自己往往会自大虚伪，在名不副实中失去自己。议论别人往往陷入鸡毛蒜皮的是非口舌中纠缠不清。每天下班后和你的那些同事朋友喝酒聊天可不是件好事，因为，这中间往往会把议论同事、朋友当做话题。背后议论人总是不好的，尤其是议论别人的短处，这些会降低你的人格。<br>
<br>
<strong>七、机会从不会&ldquo;失掉&rdquo;，你失掉了，自有别人会得到。</strong><br>
<br>
不要凡事在天，守株待兔，更不要寄希望于&quot;机会&quot;。机会只不过是相对于充分准备而又善于创造机会的人而言的。也许，你正为失去一个机会而懊悔、埋怨的时候，机会正被你对面那个同样的&ldquo;倒霉鬼&rdquo;给抓住了。没有机会，就要创造机会，有了机会，就要巧妙地抓砖。<br>
<br>
<strong>八、若电话老是不响，你该打出去。</strong><br>
<br>
很多时候，电话会给你带来意想不到的收获，它不是花瓶，仅仅成为一种摆设。交了新朋友，别忘了老朋友，朋友多了路好走。交际的一大诀窍就是主动。好的人缘好的口碑，往往助你的事业更上一个台阶。<br>
<br>
<strong>九、千万不要因为自己已经到了结婚年龄而草率结婚。 </strong><br>
<br>
想结婚，就要找一个能和你心心相印相辅相携的伴侣。不要因为放纵和游戏而恋爱，不要因为恋爱而影响工作和事业，更不要因一桩草率而失败的婚姻而使人生受阻。感情用事往往会因小失大。<br>
<br>
<strong>十、写出你一生要做的事情，把单子放在皮夹里，经常拿出来看。 </strong><br>
人生要有目标，要有计划，要有提醒，要有紧迫感。一个又一个小目标串起来，就成了你。 <a href="http://hi.baidu.com/dashuaiwang/blog/item/5e2523dbcb103d6cd1164e82.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%BE%AD%D1%E9%D7%DC%BD%E1">经验总结</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/5e2523dbcb103d6cd1164e82.html#comment">查看评论</a>]]></description>
        <pubDate>2009-10-23  22:29</pubDate>
        <category><![CDATA[经验总结]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/5e2523dbcb103d6cd1164e82.html</guid>
</item>

<item>
        <title><![CDATA[WinRAR最新破解版下载_WinRAR3.9破解_WinRAR3.9注册码_WinRAR3.9注册机_WinRAR3.X注册机_WinRAR3.X注册码]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/1c20d9fdfe97494cd7887de8.html]]></link>
        <description><![CDATA[
		
		<h2> </h2>
<h2><font color="#0000ff" size="3">WinRAR最新破解版下载_WinRAR3.9中文破解_WinRAR3.9注册码_WinRAR3.9注册机_WinRAR3.X注册机下载_WinRAR3.X注册码<font color="#000000">(Authour: 王大帅 Email: </font><a href="mailto:dashuaiwang@126.com">dashuaiwang@126.com</a><font color="#000000"> 个人空间：</font><a href="http://wds.3u.cn/">http://wds.3u.cn</a><font color="#000000">):</font></font></h2>
<h2><font color="#0000ff" size="3">WinRAR 3.90 &amp; 3.80 &amp; 3.71 的注册码 &ndash; rarreg.key</font></h2>
<p><font color="#0000ff" size="3">WinRAR 官方下载：</font></p>
<div class="info">
<div class="fixed">
<p>
<table class="FCK__ShowTableBorders" border="0" cellspacing="1" cellpadding="0" width="500" bgcolor="#84c1f8">
    <tbody>
        <tr>
            <td bgcolor="#f8f9fe" height="24" background="images/xzbjt.jpg" colspan="3">
            <table class="FCK__ShowTableBorders" border="0" cellspacing="0" cellpadding="0" width="530">
                <tbody>
                    <tr>
                        <td class="cblue" width="268" align="center">软件名称</td>
                        <td class="cblue" width="85" align="center">大小</td>
                        <td class="cblue" width="176" align="center">更新日期</td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td class="black" bgcolor="#f8f9fe" height="22" width="288" align="center"><a class="Blue1" target="_blank" href="http://winrar380.softonic.cn/">WinRAR 3.8 简体中文版</a> <img border="0" width="14" height="14" src="http://www.winrar.com.cn/images/xz.gif"></td>
            <td class="blue" bgcolor="#f8f9fe" height="22" width="59" align="center">
            <div align="center">1214 KB</div>
            </td>
            <td class="blue" bgcolor="#f8f9fe" height="22" width="181" align="center">2008-10-06</td>
        </tr>
        <tr>
            <td bgcolor="#f8f9fe" height="22" align="center"><a class="Blue1" target="_blank" href="http://winrar380-en.softonic.cn/">WinRAR 3.8 英文版 </a><img border="0" width="14" height="14" src="http://www.winrar.com.cn/images/xz.gif"></td>
            <td class="blue" bgcolor="#f8f9fe" height="22" align="center">
            <div align="center">1177 KB</div>
            </td>
            <td bgcolor="#f8f9fe" height="22" align="center"><span class="blue">2008-10-06</span></td>
        </tr>
        <tr>
            <td class="black" bgcolor="#f8f9fe" height="22" align="center"><a class="Blue1" target="_blank" href="http://winrar.softonic.cn/">WinRAR 3.9 简体中文版</a> <img border="0" width="14" height="14" src="http://www.winrar.com.cn/images/xz.gif"></td>
            <td class="blue" bgcolor="#f8f9fe" height="22" align="center">
            <div align="center">1433 KB</div>
            </td>
            <td class="blue" bgcolor="#f8f9fe" height="22" align="center">2009-08-20</td>
        </tr>
        <tr>
            <td bgcolor="#f8f9fe" height="22" align="center"><a class="Blue1" target="_blank" href="http://winrar-en.softonic.cn/">WinRAR 3.9 英文版 </a><img border="0" width="14" height="14" src="http://www.winrar.com.cn/images/xz.gif"></td>
            <td class="blue" bgcolor="#f8f9fe" height="22" align="center">
            <div align="center">1342 KB</div>
            </td>
            <td bgcolor="#f8f9fe" height="22" align="center"><span class="blue">2008-08-20</span></td>
        </tr>
        <tr>
            <td class="black" bgcolor="#f8f9fe" height="22" align="center"><a class="Blue1" target="_blank" href="http://winrar-64bit.softonic.cn/">WinRAR 3.9 64位简体中文版</a> <img border="0" width="14" height="14" src="http://www.winrar.com.cn/images/xz.gif"></td>
            <td class="blue" bgcolor="#f8f9fe" height="22" align="center">
            <div align="center">1433 KB</div>
            </td>
            <td class="blue" bgcolor="#f8f9fe" height="22" align="center">2009-08-20</td>
        </tr>
        <tr>
            <td bgcolor="#f8f9fe" height="22" align="center"><a class="Blue1" target="_blank" href="http://winrar-en-64bit.softonic.cn/">WinRAR 3.9 64位英文版 </a><img border="0" width="14" height="14" src="http://www.winrar.com.cn/images/xz.gif"></td>
            <td class="blue" bgcolor="#f8f9fe" height="22" align="center">
            <div align="center">1342 KB</div>
            </td>
            <td bgcolor="#f8f9fe" height="22" align="center"><span class="blue">2008-08-20</span></td>
        </tr>
        <tr>
            <td class="Blue1" bgcolor="#f8f9fe" height="22" align="center"><a class="Blue1" target="_blank" href="http://www.winrar.com.cn/theme.htm">WinRAR 界面主题下载与欣赏(多款)</a></td>
            <td bgcolor="#f8f9fe" height="22"> </td>
            <td bgcolor="#f8f9fe" height="22"> </td>
        </tr>
    </tbody>
</table>
</p>
<p>新安装了WinRAR 3.90 Beta2，下载的是原版，上网找注册码，还真不好搜。费了一点小劲。干脆记在这里，方便朋友，下次自己也方便。</p>
</div>
</div>
<div class="content">
<p>把下面的数据复制到&ldquo;记事本&rdquo;中，用文件名&ldquo;rarreg.key&rdquo;命名该文件，将这个文件保存到WinRAR安装文件夹后即完成注册。3.9，3.8，3.7都能用。</p>
<p>只复制&ldquo;=&rdquo;中间的，不复制&ldquo;=&rdquo;，不要改变格式。</p>
<p>==========================================</p>
<p><font size="2" face="Courier New">RAR registration data <br>
Federal Agency for Education <br>
1000000 PC usage license <br>
UID=b621cca9a84bc5deffbf <br>
6412612250ffbf533df6db2dfe8ccc3aae5362c06d54762105357d <br>
5e3b1489e751c76bf6e0640001014be50a52303fed29664b074145 <br>
7e567d04159ad8defc3fb6edf32831fd1966f72c21c0c53c02fbbb <br>
2f91cfca671d9c482b11b8ac3281cb21378e85606494da349941fa <br>
e9ee328f12dc73e90b6356b921fbfb8522d6562a6a4b97e8ef6c9f <br>
fb866be1e3826b5aa126a4d2bfe9336ad63003fc0e71c307fc2c60 <br>
64416495d4c55a0cc82d402110498da970812063934815d81470829275</font></p>
<p>==========================================</p>
<p><font color="#0000ff">WinRAR3.9注册机_WinRAR3.X注册机 _WinRAR 3.90 &amp; 3.80 &amp; 3.71 注册机下载：</font></p>
<p><font size="3">(Authour: 王大帅 Email: </font><a href="mailto:dashuaiwang@126.com"><font size="3">dashuaiwang@126.com</font></a><font color="#000000" size="3"> 个人空间：</font><a href="http://wds.3u.cn/"><font size="3">http://wds.3u.cn</font></a><font color="#000000" size="3">):</font><a href="http://ys-b.ys168.com/?winrar_Keygen.exe_4s7bsq0d6dks7bsn0cpht0cmq0cmlprrj5biis0c0cpju01f20f01z">http://ys-b.ys168.com/?winrar_Keygen.exe_4s7bsq0d6dks7bsn0cpht0cmq0cmlprrj5biis0c0cpju01f20f01z</a></p>
<div class="fixed"> </div>
</div>
<div class="under"> </div> <a href="http://hi.baidu.com/dashuaiwang/blog/item/1c20d9fdfe97494cd7887de8.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%B9%A4%BE%DF%C8%ED%BC%FE">工具软件</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/1c20d9fdfe97494cd7887de8.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-27  23:43</pubDate>
        <category><![CDATA[工具软件]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/1c20d9fdfe97494cd7887de8.html</guid>
</item>

<item>
        <title><![CDATA[powerbuilder 10.0 Enterprise破解版下载_powerbuilder10破解版_powerbuilder10破解补丁_powerbuilder下载]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/d31a2bad607eaf004a36d6ee.html]]></link>
        <description><![CDATA[
		
		<table class="FCK__ShowTableBorders" cellspacing="0" cellpadding="0" width="575" border="0">
    <tbody>
        <tr>
            <td colspan="2" height="6">
            <p><strong>powerbuilder 10.0 Enterprise破解版下载_powerbuilder10破解版_powerbuilder10破解补丁_powerbuilder下载</strong><strong>(Authour: 王大帅 Email: <a href="mailto:dashuaiwang@126.com"><strong>dashuaiwang@126.com</strong></a><strong> 个人空间：</strong><a href="http://wds.3u.cn/"><strong>http://wds.3u.cn</strong></a><strong>):</strong></strong></p>
            <p>软件名称 powerbuilder 10.0 Enterprise(破解) <br>
            运行环境 Win9X/Win2000/WinXP/Win2003/ <br>
            授权方式 共享软件 <br>
            软件大小 126 MB 　 <br>
            <br>
            ∷软件简介∷ <br>
            中文安装说明： <br>
            一：输入注册码：5222724381479019 <br>
            二：在安装过程中，选择PowerBuider选项进行安装,如需要Adaptive serer Anywhere的请自行安装。infoMaker 选项不选。 <br>
            三：复制crack 中的文件到安装目录。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
            <br>
            　　PowerBuilder 10.0的发布预示了4Glplus的开端，这是一个开放的、适用于各类异质部署环 <br>
            境的快捷应用开发(RAD)工具，将管理理念和可再生的应用系统开发相互结合&rdquo;，Sybase企 <br>
            业解决方案副总裁兼总经理，Raj Nathan博士谈到，&ldquo;除了面向富客户开发的良好适用性， <br>
            新版本还具有对J2EE和Microsoft.Net开发环境的支持功能，并且与PowerDesigner更紧密地 <br>
            相结合。我们与开发者团体的密切合作将不断地鼓励我们对PowerBuilder的改进、更新，并 <br>
            协力为满足当前的需求、探索未来的市场趋势做出积极的努力。&rdquo;</p>
            <p>　　&ldquo;专业开发人员所青睐的应用开发解决方案，需要具备容易使用、高效率、并且能够与 <br>
            各种不同架构和开发工具相结合的特点，&rdquo;IDC应用开发研究集团副总裁Stephen D <br>
            .Hendrick指出，&ldquo;PowerBuilder 10.0结合了新的、超强的功能，以适应各类主要的开发环 <br>
            境的不同需求。</p>
            <p>
            <table class="FCK__ShowTableBorders" cellspacing="0" cellpadding="0" width="575" border="0">
                <tbody>
                    <tr>
                        <td colspan="2" height="6">
                        <p>
                        <table class="FCK__ShowTableBorders" cellspacing="0" cellpadding="0" width="575" border="0">
                            <tbody>
                                <tr>
                                    <td colspan="2" height="6">
                                    <p>powerbuilder 10.0 Enterprise破解版下载_powerbuilder10破解版_powerbuilder10破解补丁_powerbuilder下载(Authour: 王大帅 Email: <a href="mailto:dashuaiwang@126.com">dashuaiwang@126.com</a> 个人空间：<a href="http://wds.3u.cn/">http://wds.3u.cn</a>):</p>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                        </p>
                        </td>
                    </tr>
                </tbody>
            </table>
            </p>
            </td>
        </tr>
        <tr>
            <td class="titlebg1" width="50%">∷下载地址∷</td>
            <td class="titlebg1" width="50%"> </td>
        </tr>
        <tr valign="top">
            <td class="border2"><img border="0" src="http://hzh.jysedu.com/skin/default/icon_downloadserver.gif"> <a target="_blank" href="http://hzh.jysedu.com/soft/download.asp?softid=31&amp;downid=2&amp;id=109">(教育网下载) 下载地址</a><br>
            <img border="0" src="http://hzh.jysedu.com/skin/default/icon_downloadserver.gif"> <a target="_blank" href="http://hzh.jysedu.com/soft/download.asp?softid=31&amp;downid=3&amp;id=109">(南苑网下载) 下载地址</a></td>
        </tr>
    </tbody>
</table> <a href="http://hi.baidu.com/dashuaiwang/blog/item/d31a2bad607eaf004a36d6ee.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%B9%A4%BE%DF%C8%ED%BC%FE">工具软件</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/d31a2bad607eaf004a36d6ee.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-27  12:30</pubDate>
        <category><![CDATA[工具软件]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/d31a2bad607eaf004a36d6ee.html</guid>
</item>

<item>
        <title><![CDATA[Oracle中如何启动Oracle Management Service]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/f7da2e9b928c8ebcc8eaf4d4.html]]></link>
        <description><![CDATA[
		
		<div class="postTitle">Oracle中如何启动Oracle Management Service</div>
<div class="postText">
<ul>
    <li>系统环境：</li>
    <ul>1、操作系统：Windows XP SP3</ul>
        <ul>2、数据库：　Oracle 8i R2 (8.1.6) for NT 企业版<br>
            3、安装路径：D:\ORACLE</ul>
            <li>错误现象：
            <pre><ul>默认安装完Oracle 816 for NT后，想使用Oracle816 for NT的OEM工具来管理数据库，开始→程序→Oracle - OraHome81→Enterprise Manager→Console这时系统出现以下画面一：<img src="http://www.oradb.net/err/img/1.jpg">点击&ldquo;确定&rdquo;，出现画面二、三。<img src="http://www.oradb.net/err/img/2.jpg"><img src="http://www.oradb.net/err/img/3.jpg">在&ldquo;添加管理服务器&rdquo;栏上输入本机IP地址，如：192.1.1.1，点击&ldquo;确定&rdquo;，出现画面四。<img src="http://www.oradb.net/err/img/4.jpg">画面显示出的oradb就使本机名称，点击&ldquo;确定&rdquo;，出现画面五，进行&ldquo;Oracle Enterprise Manager 登录&rdquo;。<img src="http://www.oradb.net/err/img/5.jpg">输入口令/密码：system/manager，点击&ldquo;确定&rdquo;，出现画面六，出现以下错误提示。<img src="http://www.oradb.net/err/img/6.jpg">VTK-1000 : Unable to connect to the management server oradb. Please vertify that you have entered the correct host name and the status of the Oracle Managerment Server.</ul></pre>
            </li>
            <li>解决方法：
            <pre><ul>1、使用Enterprise Manager配置辅助工具   开始→程序→Oracle - OraHome81→Enterprise Manager→Configuration Assistanta、使用Configuration Assistant工具来创建一个新的资料档案库，如图七。<img src="http://www.oradb.net/err/img/7.jpg">单击&ldquo;下一步&rdquo;，出现画面八。<img src="http://www.oradb.net/err/img/8.jpg">b、先登录   用户名：system，密码：manager，服务：oradb，   注：输入的用户必须具有DBA权限，单击&ldquo;下一步&rdquo;，出现画面九。<img src="http://www.oradb.net/err/img/9.jpg">c、再创建拥有此资料档案库的用户，系统默认取机器名，这里我们设用户名为：test，密码：test,   输入两遍口令，单击&ldquo;下一步&rdquo;，出现画面十。<img src="http://www.oradb.net/err/img/10.jpg">d、因为输入的是一个新用户，系统要求指定用户表空间，本例使用系统推荐，   单击&ldquo;下一步&rdquo;，系统正在创建OEM_REPOSITORY表空间，创建完毕后出现画面十一。<img src="http://www.oradb.net/err/img/11.jpg">e、系统显示&ldquo;创建资料档案库概要&rdquo;，   单击&ldquo;完成&rdquo;，显示&ldquo;配置辅助工具进度&rdquo;，如图十二。<img src="http://www.oradb.net/err/img/12.jpg">   单击&ldquo;显示详细资料&rdquo;，可以看到系统正在创建各种对象的提示。   系统处理完成，单击&ldquo;关闭&rdquo;，如图十三。<img src="http://www.oradb.net/err/img/13.jpg">2、启动OracleOraHome81ManagementServer服务   开始→设置→控制面版→管理工具→服务，如图十四，找到Oracle相关服务的位置。<img src="http://www.oradb.net/err/img/14.jpg">   单击&ldquo;启动&rdquo;，如图十五，如果上一步没有创建资料档案库，则会启动失败。<img src="http://www.oradb.net/err/img/15.jpg">   把OracleOraHome81ManagementServer服务设置成自动启动方式。3、重新进行Oracle Enterprise Manager 登录   开始→程序→Oracle - OraHome81→Enterprise Manager→Console   Oracle Enterprise Manager 的默认管理员是 sysman/oem_temp，系统管理员应该马上更改口令。   如图十六，不要在管理员一栏直接写sysman/oem_temp，而是分别输入&ldquo;用户名/密码&rdquo;。<img src="http://www.oradb.net/err/img/16.jpg">   单击&ldquo;确定&rdquo;，出现图十七，安全警告，要求你立即更改sysman的口令。<img src="http://www.oradb.net/err/img/17.jpg">   本例输入两遍manager作为口令，   输入完口令后，单击&ldquo;更改&rdquo;，   系统正式调出&ldquo;Oracle Enterprise Manager 控制台 SYSMAN@oradb&rdquo;的画面</ul></pre>
            </li>
        </ul>
        </div> <a href="http://hi.baidu.com/dashuaiwang/blog/item/f7da2e9b928c8ebcc8eaf4d4.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%BE%AD%D1%E9%D7%DC%BD%E1">经验总结</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/f7da2e9b928c8ebcc8eaf4d4.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-26  09:09</pubDate>
        <category><![CDATA[经验总结]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/f7da2e9b928c8ebcc8eaf4d4.html</guid>
</item>

<item>
        <title><![CDATA[JDOM操作XML文件(法老修正版)]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/f0c0a33852d983cbd46225e6.html]]></link>
        <description><![CDATA[
		
		JDOM操作XML文件(法老修正版)
<div class="blogstory">


<p>原文：JDOM操作XML文件<br>
地址：<a href="http://www.jspcn.net/htmlnews/200120272.html">http://www.jspcn.net/htmlnews/200120272.html</a><br>
---------------------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp;  这篇文章讲的不错~把JDOM的基本操作实例化了,不过由于当时的作者用的JDOM版本还比较陈旧,所以部分代码会编译出错！支持中文也不好！所以,法老在原作者的基础上对程序做了修改！休正了编译出错以及中文乱码的问题。发表出来，供大家学习和使用。<br>
<strong><font color="#800000">测试环境：jdom1.0，weblogic 8.1sp2，tomcat 5.0，IE 6。0</font></strong><br>
/==================================正文开始=======================================/<br>
Java + XML = JDOM ！ <br>
这就是JDOM设计者的目标。如果你曾经使用过烦人的SAX或是DOM来处理XML，你就会知道为什么要有JDOM或者是JAXB。在今年（2002）的JavaOne会议上JDOM的主要创始人Jason Hunter有一篇精彩的演讲介绍了JDOM技术，题目就是JDOM Makes XML Easy。 <br>
获得并安装JDOM <br>
在http://jdom.org可以下载JDOM的最新版本。以<strong>JDOM 1.0</strong>的2进制版本为例。下载后解压缩，JDOM的jar文件就是build目录下的文件jdom.jar，将之加入类路径。另外JDOM还需要lib目录下那些jar文件如xerces.jar,jaxp.jar的支持。如果在使用中出现以下错误： <br>
java.lang.NoSuchMethodError <br>
或 <br>
java.lang.NoClassDefFoundError: org/xml/sax/SAXNotRecognizedException <br>
你需要保证xerces.jar文件在CLASSPATH中位于其他XML类，如JAXP或Crimson之前，这些类文件，包括以前老版本的xerces，可能不支持SAX2.0或DOM Level 2。于是导致了上面的错误。 <br>
<br>
一个简单的例子 <br>
JDOM的处理方式有些类似于DOM，但它主要是用SAX实现的，你不必担心处理速度和内存的问题。另外，JDOM中几乎没有接口，的类全部是实实在在的类，没有类工厂类的。<br>
<br>
下面是实例用的XML文件: <font color="#ff0000"><strong>MyXml.xml</strong><br>
</font><br>
<font style="background-color: #000000" color="#ffffff">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br>
&lt;书库&gt;<br>
  &lt;书&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;书名&gt;Java编程入门&lt;/书名&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;作者&gt;张三&lt;/作者&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;出版社&gt;电子出版社&lt;/出版社&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;价格&gt;35.0&lt;/价格&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;出版日期&gt;2002-10-07&lt;/出版日期&gt;<br>
  &lt;/书&gt;<br>
  &lt;书&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;书名&gt;XML在Java中的应用&lt;/书名&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;作者&gt;李四&lt;/作者&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;出版社&gt;希望出版社&lt;/出版社&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;价格&gt;92.0&lt;/价格&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;出版日期&gt;2002-10-07&lt;/出版日期&gt;<br>
  &lt;/书&gt;<br>
&lt;/书库&gt;</font></p>
<p><br>
<br>
下面是操作XML文件的Bean: <font color="#ff0000"><strong>XmlBean.java<br>
</strong></font><br>
<font style="background-color: #000000" color="#ffffff">package jdom.test;</font></p>
<p><font style="background-color: #000000" color="#ffffff">/**<br>
 * XML的读写操作Bean<br>
 */<br>
import java.io.*;<br>
import java.util.*;<br>
import org.jdom.*;<br>
import org.jdom.output.*;<br>
import org.jdom.input.*;<br>
import javax.servlet.*;<br>
import javax.servlet.http.*;</font></p>
<p><font style="background-color: #000000" color="#ffffff">public class XmlBean {<br>
 private String bookname, author, pub, price, pubdate;</font></p>
<p><font style="background-color: #000000" color="#ffffff"> public String getbookname() {<br>
&nbsp;&nbsp; return bookname;<br>
 }</font></p>
<p><font style="background-color: #000000" color="#ffffff"> public String getauthor() {<br>
&nbsp;&nbsp; return author;<br>
 }</font></p>
<p><font style="background-color: #000000" color="#ffffff"> public String getpub() {<br>
&nbsp;&nbsp; return pub;<br>
 }</font></p>
<p><font style="background-color: #000000" color="#ffffff"> public String getprice() {<br>
&nbsp;&nbsp; return price;<br>
 }</font></p>
<p><font style="background-color: #000000" color="#ffffff"> public String getpubdate() {<br>
&nbsp;&nbsp; return pubdate;<br>
 }</font></p>
<p><font style="background-color: #000000" color="#ffffff"> public void setbookname(String bookname) {<br>
&nbsp;&nbsp; this.bookname = bookname;<br>
 }</font></p>
<p><font style="background-color: #000000" color="#ffffff"> public void setauthor(String author) {<br>
&nbsp;&nbsp; this.author = author;<br>
 }</font></p>
<p><font style="background-color: #000000" color="#ffffff"> public void setpub(String pub) {<br>
&nbsp;&nbsp; this.pub = pub;<br>
 }</font></p>
<p><font style="background-color: #000000" color="#ffffff"> public void setprice(String price) {<br>
&nbsp;&nbsp; this.price = price;<br>
 }</font></p>
<p><font style="background-color: #000000" color="#ffffff"> public void setpubdate(String pubdate) {<br>
&nbsp;&nbsp; this.pubdate = pubdate;<br>
 }</font></p>
<p><font style="background-color: #000000" color="#ffffff"> public XmlBean() {<br>
 }</font></p>
<p><font style="background-color: #000000" color="#ffffff"> /**<br>
  * 读取XML文件所有信息<br>
  */<br>
 public Vector LoadXML(String path) throws Exception {<br>
&nbsp;&nbsp; Vector xmlVector = null;<br>
&nbsp;&nbsp; FileInputStream fi = null;<br>
&nbsp;&nbsp; try {<br>
&nbsp;&nbsp;&nbsp; fi = new FileInputStream(path);<br>
&nbsp;&nbsp;&nbsp; xmlVector = new Vector();<br>
&nbsp;&nbsp;&nbsp; SAXBuilder sb = new SAXBuilder();<br>
&nbsp;&nbsp;&nbsp; Document doc = sb.build(fi);<br>
&nbsp;&nbsp;&nbsp; Element root = doc.getRootElement(); // 得到根元素<br>
&nbsp;&nbsp;&nbsp; List books = root.getChildren(); // 得到根元素所有子元素的集合<br>
&nbsp;&nbsp;&nbsp; Element book = null;<br>
&nbsp;&nbsp;&nbsp; XmlBean xml = null;<br>
&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; books.size(); i++) {<br>
&nbsp;&nbsp;&nbsp;&nbsp; xml = new XmlBean();<br>
&nbsp;&nbsp;&nbsp;&nbsp; book = (Element) books.get(i); // 得到第一本书元素<br>
&nbsp;&nbsp;&nbsp;&nbsp; xml.setbookname(book.getChild(&quot;书名&quot;).getText());<br>
&nbsp;&nbsp;&nbsp;&nbsp; xml.setauthor(book.getChild(&quot;作者&quot;).getText());<br>
&nbsp;&nbsp;&nbsp;&nbsp; xml.setpub(book.getChild(&quot;出版社&quot;).getText());<br>
&nbsp;&nbsp;&nbsp;&nbsp; xml.setprice(book.getChild(&quot;价格&quot;).getText());<br>
&nbsp;&nbsp;&nbsp;&nbsp; xml.setpubdate(book.getChild(&quot;出版日期&quot;).getText());<br>
&nbsp;&nbsp;&nbsp;&nbsp; xmlVector.add(xml);<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp; } catch (Exception e) {<br>
&nbsp;&nbsp;&nbsp; System.err.println(e + &quot;error&quot;);<br>
&nbsp;&nbsp; } finally {<br>
&nbsp;&nbsp;&nbsp; try {<br>
&nbsp;&nbsp;&nbsp;&nbsp; fi.close();<br>
&nbsp;&nbsp;&nbsp; } catch (Exception e) {<br>
&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp; }<br>
&nbsp;&nbsp; return xmlVector;<br>
 }</font></p>
<p><font style="background-color: #000000" color="#ffffff"> /**<br>
  * 删除XML文件指定信息<br>
  */<br>
 public static void DelXML(HttpServletRequest request) throws Exception {<br>
&nbsp;&nbsp; FileInputStream fi = null;<br>
&nbsp;&nbsp; FileOutputStream fo = null;<br>
&nbsp;&nbsp; try {<br>
<font color="#ffff00">&nbsp;&nbsp;&nbsp; request.setCharacterEncoding(&quot;GBK&quot;);</font><br>
&nbsp;&nbsp;&nbsp; String path = request.getParameter(&quot;path&quot;);<br>
&nbsp;&nbsp;&nbsp; int xmlid = Integer.parseInt(request.getParameter(&quot;id&quot;));<br>
&nbsp;&nbsp;&nbsp; fi = new FileInputStream(path);<br>
&nbsp;&nbsp;&nbsp; SAXBuilder sb = new SAXBuilder();<br>
&nbsp;&nbsp;&nbsp; Document doc = sb.build(fi);<br>
&nbsp;&nbsp;&nbsp; Element root = doc.getRootElement(); // 得到根元素<br>
&nbsp;&nbsp;&nbsp; List books = root.getChildren(); // 得到根元素所有子元素的集合<br>
&nbsp;&nbsp;&nbsp; books.remove(xmlid);// 删除指定位置的子元素<br>
<font color="#cc99ff"><em>//&nbsp;&nbsp;&nbsp; String indent = &quot; &quot;;<br>
//&nbsp;&nbsp;&nbsp; boolean newLines = true;<br>
//&nbsp;&nbsp;&nbsp; XMLOutputter outp = new XMLOutputter(indent, newLines, &quot;GBK&quot;);</em><br>
</font><font style="background-color: #000000"><font color="#ffff00">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Format format = Format.getPrettyFormat();<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp; format.setIndent(&quot;  &quot;);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp; format.setEncoding(&quot;utf-8&quot;);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp; XMLOutputter outp = new XMLOutputter(format);</font></font><br>
&nbsp;&nbsp;&nbsp; fo = new FileOutputStream(path);<br>
&nbsp;&nbsp;&nbsp; outp.output(doc, fo);<br>
&nbsp;&nbsp; } catch (Exception e) {<br>
&nbsp;&nbsp;&nbsp; System.err.println(e + &quot;error&quot;);<br>
&nbsp;&nbsp; } finally {<br>
&nbsp;&nbsp;&nbsp; try {<br>
&nbsp;&nbsp;&nbsp;&nbsp; fi.close();<br>
&nbsp;&nbsp;&nbsp;&nbsp; fo.close();<br>
&nbsp;&nbsp;&nbsp; } catch (Exception e) {<br>
&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp; }<br>
 }</font></p>
<p><font style="background-color: #000000" color="#ffffff"> /**<br>
  * 添加XML文件指定信息<br>
  */<br>
 public static void AddXML(HttpServletRequest request) throws Exception {<br>
&nbsp;&nbsp; FileInputStream fi = null;<br>
&nbsp;&nbsp; FileOutputStream fo = null;<br>
&nbsp;&nbsp; try {<br>
<font color="#ffff00">&nbsp;&nbsp;&nbsp; request.setCharacterEncoding(&quot;GBK&quot;);</font><br>
&nbsp;&nbsp;&nbsp; String path = request.getParameter(&quot;path&quot;);<br>
&nbsp;&nbsp;&nbsp; fi = new FileInputStream(path);<br>
&nbsp;&nbsp;&nbsp; SAXBuilder sb = new SAXBuilder();<br>
&nbsp;&nbsp;&nbsp; Document doc = sb.build(fi);<br>
&nbsp;&nbsp;&nbsp; Element root = doc.getRootElement(); // 得到根元素<br>
&nbsp;&nbsp;&nbsp; List books = root.getChildren(); // 得到根元素所有子元素的集合<br>
&nbsp;&nbsp;&nbsp; String bookname = request.getParameter(&quot;bookname&quot;);<br>
&nbsp;&nbsp;&nbsp; String author = request.getParameter(&quot;author&quot;);<br>
&nbsp;&nbsp;&nbsp; String price = request.getParameter(&quot;price&quot;);<br>
&nbsp;&nbsp;&nbsp; String pub = request.getParameter(&quot;pub&quot;);<br>
&nbsp;&nbsp;&nbsp; String pubdate = request.getParameter(&quot;pubdate&quot;);<br>
//&nbsp;&nbsp;&nbsp; Text newtext;<br>
&nbsp;&nbsp;&nbsp; Element newbook = new Element(&quot;书&quot;);<br>
&nbsp;&nbsp;&nbsp; Element newname = new Element(&quot;书名&quot;);<br>
&nbsp;&nbsp;&nbsp; newname.setText(bookname);<br>
&nbsp;&nbsp;&nbsp; newbook.addContent(newname);<br>
&nbsp;&nbsp;&nbsp; Element newauthor = new Element(&quot;作者&quot;);<br>
&nbsp;&nbsp;&nbsp; newauthor.setText(author);<br>
&nbsp;&nbsp;&nbsp; newbook.addContent(newauthor);<br>
&nbsp;&nbsp;&nbsp; Element newpub = new Element(&quot;出版社&quot;);<br>
&nbsp;&nbsp;&nbsp; newpub.setText(pub);<br>
&nbsp;&nbsp;&nbsp; newbook.addContent(newpub);<br>
&nbsp;&nbsp;&nbsp; Element newprice = new Element(&quot;价格&quot;);<br>
&nbsp;&nbsp;&nbsp; newprice.setText(price);<br>
&nbsp;&nbsp;&nbsp; newbook.addContent(newprice);<br>
&nbsp;&nbsp;&nbsp; Element newdate = new Element(&quot;出版日期&quot;);<br>
&nbsp;&nbsp;&nbsp; newdate.setText(pubdate);<br>
&nbsp;&nbsp;&nbsp; newbook.addContent(newdate);<br>
&nbsp;&nbsp;&nbsp; books.add(newbook);// 增加子元素<br>
<font color="#cc99ff"><em>//&nbsp;&nbsp;&nbsp; String indent = &quot; &quot;;<br>
//&nbsp;&nbsp;&nbsp; boolean newLines = true;<br>
//&nbsp;&nbsp;&nbsp; XMLOutputter outp = new XMLOutputter(indent, newLines, &quot;GBK&quot;);</em><br>
</font><font style="background-color: #000000"><font color="#ffff00">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Format format = Format.getPrettyFormat();<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp; format.setIndent(&quot;  &quot;);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp; format.setEncoding(&quot;utf-8&quot;);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp; XMLOutputter outp = new XMLOutputter(format);</font></font><br>
&nbsp;&nbsp;&nbsp; fo = new FileOutputStream(path);<br>
&nbsp;&nbsp;&nbsp; outp.output(doc, fo);<br>
&nbsp;&nbsp; } catch (Exception e) {<br>
&nbsp;&nbsp;&nbsp; System.err.println(e + &quot;error&quot;);<br>
&nbsp;&nbsp; } finally {<br>
&nbsp;&nbsp;&nbsp; try {<br>
&nbsp;&nbsp;&nbsp;&nbsp; fi.close();<br>
&nbsp;&nbsp;&nbsp;&nbsp; fo.close();<br>
&nbsp;&nbsp;&nbsp; } catch (Exception e) {<br>
&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp; }<br>
 }</font></p>
<p><font color="#993300"><font color="#ffffff"><font style="background-color: #000000"> /**<br>
  * 修改XML文件指定信息<br>
  */<br>
 public static void EditXML(HttpServletRequest request) throws Exception {<br>
&nbsp;&nbsp; FileInputStream fi = null;<br>
&nbsp;&nbsp; FileOutputStream fo = null;<br>
&nbsp;&nbsp; try {<br>
<font color="#ffff00">&nbsp;&nbsp;&nbsp; request.setCharacterEncoding(&quot;GBK&quot;);</font><br>
&nbsp;&nbsp;&nbsp; String path = request.getParameter(&quot;path&quot;);<br>
&nbsp;&nbsp;&nbsp; int xmlid = Integer.parseInt(request.getParameter(&quot;id&quot;));<br>
&nbsp;&nbsp;&nbsp; fi = new FileInputStream(path);<br>
&nbsp;&nbsp;&nbsp; SAXBuilder sb = new SAXBuilder();<br>
&nbsp;&nbsp;&nbsp; Document doc = sb.build(fi);<br>
&nbsp;&nbsp;&nbsp; Element root = doc.getRootElement(); // 得到根元素<br>
&nbsp;&nbsp;&nbsp; List books = root.getChildren(); // 得到根元素所有子元素的集合<br>
&nbsp;&nbsp;&nbsp; Element book = (Element) books.get(xmlid);<br>
&nbsp;&nbsp;&nbsp; String bookname = request.getParameter(&quot;bookname&quot;);<br>
&nbsp;&nbsp;&nbsp; String author = request.getParameter(&quot;author&quot;);<br>
&nbsp;&nbsp;&nbsp; String price = request.getParameter(&quot;price&quot;);<br>
&nbsp;&nbsp;&nbsp; String pub = request.getParameter(&quot;pub&quot;);<br>
&nbsp;&nbsp;&nbsp; String pubdate = request.getParameter(&quot;pubdate&quot;);<br>
//&nbsp;&nbsp;&nbsp; Text newtext;<br>
&nbsp;&nbsp;&nbsp; Element newname = book.getChild(&quot;书名&quot;);<br>
&nbsp;&nbsp;&nbsp; newname.setText(bookname);// 修改书名为新的书名<br>
&nbsp;&nbsp;&nbsp; Element newauthor = book.getChild(&quot;作者&quot;);<br>
&nbsp;&nbsp;&nbsp; newauthor.setText(author);<br>
&nbsp;&nbsp;&nbsp; Element newpub = book.getChild(&quot;出版社&quot;);<br>
&nbsp;&nbsp;&nbsp; newpub.setText(pub);<br>
&nbsp;&nbsp;&nbsp; Element newprice = book.getChild(&quot;价格&quot;);<br>
&nbsp;&nbsp;&nbsp; newprice.setText(price);<br>
&nbsp;&nbsp;&nbsp; Element newdate = book.getChild(&quot;出版日期&quot;);<br>
&nbsp;&nbsp;&nbsp; newdate.setText(pubdate);<br>
&nbsp;&nbsp;&nbsp; // books.set(xmlid,book);//修改子元素</font></font></font><font color="#993300"><font color="#ffffff"><font style="background-color: #000000"><br>
<font color="#cc99ff"><em>//&nbsp;&nbsp;&nbsp; String indent = &quot; &quot;;<br>
//&nbsp;&nbsp;&nbsp; boolean newLines = true;<br>
//&nbsp;&nbsp;&nbsp; XMLOutputter outp = new XMLOutputter(indent, newLines, &quot;GBK&quot;);</em></font><br>
</font><font style="background-color: #000000"><font color="#ffff00">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Format format = Format.getPrettyFormat();<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp; format.setIndent(&quot;  &quot;);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp; format.setEncoding(&quot;utf-8&quot;);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp; XMLOutputter outp = new XMLOutputter(format);</font><br>
&nbsp;&nbsp;&nbsp; fo = new FileOutputStream(path);<br>
&nbsp;&nbsp;&nbsp; outp.output(doc, fo);<br>
&nbsp;&nbsp; } catch (Exception e) {<br>
&nbsp;&nbsp;&nbsp; System.err.println(e + &quot;error&quot;);<br>
&nbsp;&nbsp; } finally {<br>
&nbsp;&nbsp;&nbsp; try {<br>
&nbsp;&nbsp;&nbsp;&nbsp; fi.close();<br>
&nbsp;&nbsp;&nbsp;&nbsp; fo.close();<br>
&nbsp;&nbsp;&nbsp; } catch (Exception e) {<br>
&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp; }<br>
 }<br>
}</font></font><br>
</font><br>
下面是操作的jsp文件: <font color="#ff0000"><strong>test.jsp</strong></font><br>
<font style="background-color: #000000" color="#ffffff">&lt;%@ page contentType=&quot;text/html;charset=GBK&quot;%&gt;<br>
&lt;%@ page language=&quot;java&quot; import=&quot;java.util.*,jdom.test.*&quot;%&gt;<br>
&lt;html&gt;<br>
&lt;head&gt;<br>
&lt;title&gt;读取XML文件资料&lt;/title&gt;<br>
&lt;/head&gt;<br>
&lt;body&gt;<br>
&lt;h3 align=&quot;center&quot;&gt;JDOM操作XML文件&lt;/h3&gt;<br>
&lt;p align=&quot;center&quot;&gt;读取XML文件中的所有资料&lt;/p&gt;<br>
&lt;center&gt;<br>
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;1&quot;<br>
 style=&quot;border-collapse: collapse&quot; width=&quot;80%&quot; id=&quot;AutoNumber1&quot;&gt;<br>
 &lt;tr&gt;<br>
&nbsp;&nbsp; &lt;td align=&quot;center&quot; width=&quot;92&quot;&gt;书名&lt;/td&gt;<br>
&nbsp;&nbsp; &lt;td align=&quot;center&quot; width=&quot;92&quot;&gt;作者&lt;/td&gt;<br>
&nbsp;&nbsp; &lt;td align=&quot;center&quot; width=&quot;92&quot;&gt;出版社&lt;/td&gt;<br>
&nbsp;&nbsp; &lt;td align=&quot;center&quot; width=&quot;92&quot;&gt;价格&lt;/td&gt;<br>
&nbsp;&nbsp; &lt;td align=&quot;center&quot; width=&quot;92&quot;&gt;出版日期&lt;/td&gt;<br>
&nbsp;&nbsp; &lt;td align=&quot;center&quot; width=&quot;94&quot;&gt;操作&lt;/td&gt;<br>
 &lt;/tr&gt;<br>
&lt;/table&gt;<br>
&lt;%<br>
&nbsp;&nbsp; String path = application.getRealPath(&quot;/JDOM/MyXml.xml&quot;);<br>
&nbsp;&nbsp; XmlBean xml = new XmlBean();<br>
&nbsp;&nbsp; Vector xmlall = xml.LoadXML(path);<br>
&nbsp;&nbsp; for (int i = 0; i &lt; xmlall.size(); i++) {<br>
&nbsp;&nbsp;&nbsp; xml = (XmlBean) xmlall.elementAt(i);<br>
&nbsp;&nbsp;&nbsp; /**out.println(&quot;书名:&quot;+xml.getbookname()+&quot;&lt;br&gt;&quot;);<br>
&nbsp;&nbsp;&nbsp;  out.println(&quot;作者:&quot;+xml.getauthor()+&quot;&lt;br&gt;&quot;);<br>
&nbsp;&nbsp;&nbsp;  out.println(&quot;出版社:&quot;+xml.getpub()+&quot;&lt;br&gt;&quot;);<br>
&nbsp;&nbsp;&nbsp;  out.println(&quot;价格:&quot;+xml.getprice()+&quot;&lt;br&gt;&quot;);<br>
&nbsp;&nbsp;&nbsp;  out.println(&quot;出版日期:&quot;+xml.getpubdate()+&quot;&lt;br&gt;&lt;br&gt;&quot;);<br>
&nbsp;&nbsp;&nbsp;  */<br>
%&gt;<br>
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;1&quot;<br>
 style=&quot;border-collapse: collapse&quot; width=&quot;80%&quot; id=&quot;AutoNumber2&quot;&gt;<br>
 &lt;tr&gt;<br>
&nbsp;&nbsp; &lt;td align=&quot;center&quot; width=&quot;92&quot;&gt;&lt;%=xml.getbookname()%&gt;&lt;/td&gt;<br>
&nbsp;&nbsp; &lt;td align=&quot;center&quot; width=&quot;92&quot;&gt;&lt;%=xml.getauthor()%&gt;&lt;/td&gt;<br>
&nbsp;&nbsp; &lt;td align=&quot;center&quot; width=&quot;92&quot;&gt;&lt;%=xml.getpub()%&gt;&lt;/td&gt;<br>
&nbsp;&nbsp; &lt;td align=&quot;center&quot; width=&quot;92&quot;&gt;&lt;%=xml.getprice()%&gt;&lt;/td&gt;<br>
&nbsp;&nbsp; &lt;td align=&quot;center&quot; width=&quot;92&quot;&gt;&lt;%=xml.getpubdate()%&gt;&lt;/td&gt;<br>
&nbsp;&nbsp; &lt;td align=&quot;center&quot; width=&quot;94&quot;&gt;&lt;a<br>
&nbsp;&nbsp;&nbsp; href=&quot;xmlaction.jsp?act=del&amp;id=&lt;%=i%&gt;&amp;path=&lt;%=path%&gt;&quot;&gt;删除&lt;/a&gt;&lt;/td&gt;<br>
 &lt;/tr&gt;<br>
&lt;/table&gt;<br>
&lt;%}%&gt;&lt;/center&gt;<br>
&lt;form method=&quot;POST&quot; action=&quot;xmlaction.jsp&quot;&gt;<br>
&lt;p align=&quot;center&quot;&gt;&lt;input type=&quot;radio&quot; value=&quot;add&quot; checked name=&quot;act&quot;&gt;添加资料<br>
&lt;input type=&quot;radio&quot; value=&quot;edit&quot; name=&quot;act&quot;&gt;编辑资料 序 号:&lt;select size=&quot;1&quot;<br>
 name=&quot;id&quot;&gt;<br>
 &lt;%for (int i = 0; i &lt; xmlall.size(); i++) {%&gt;<br>
 &lt;option value=&quot;&lt;%=i%&gt;&quot;&gt;第&lt;%=i + 1%&gt;条&lt;/option&gt;<br>
 &lt;%}%&gt;<br>
&lt;/select&gt;&lt;br&gt;<br>
书 名:&lt;input type=&quot;text&quot; name=&quot;bookname&quot; size=&quot;20&quot;&gt;&lt;br&gt;<br>
作 者:&lt;input type=&quot;text&quot; name=&quot;author&quot; size=&quot;20&quot;&gt;&lt;br&gt;<br>
出版社:&lt;input type=&quot;text&quot; name=&quot;pub&quot; size=&quot;20&quot;&gt;&lt;br&gt;<br>
价 格:&lt;input type=&quot;text&quot; name=&quot;price&quot; size=&quot;20&quot;&gt;&lt;br&gt;<br>
日 期:&lt;input type=&quot;text&quot; name=&quot;pubdate&quot; size=&quot;20&quot;&gt;&lt;/p&gt;<br>
&lt;input type=&quot;hidden&quot; name=&quot;path&quot; value=&quot;&lt;%=path%&gt;&quot;&gt;<br>
&lt;p align=&quot;center&quot;&gt;&lt;input type=&quot;submit&quot; value=&quot;提交&quot; name=&quot;B1&quot;&gt;&lt;input<br>
 type=&quot;reset&quot; value=&quot;重置&quot; name=&quot;B2&quot;&gt;&lt;/p&gt;<br>
&lt;/form&gt;<br>
&lt;/body&gt;<br>
&lt;/html&gt;<br>
</font><br>
下面是处理上一文件提交的jsp文件: <font color="#ff0000"><strong>xmlation.jsp</strong></font><br>
<font color="#ff0000"><font style="background-color: #000000" color="#ffffff">&lt;%@ page contentType=&quot;text/html;charset=GBK&quot;%&gt;<br>
&lt;%@ page language=&quot;java&quot; import=&quot;jdom.test.*&quot;%&gt;<br>
&lt;%if (request.getParameter(&quot;act&quot;) != null<br>
&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; request.getParameter(&quot;act&quot;).equals(&quot;add&quot;)) {<br>
&nbsp;&nbsp;&nbsp; XmlBean.AddXML(request);<br>
&nbsp;&nbsp;&nbsp; out.println(&quot;&lt;p align='center'&gt;&lt;br&gt;&lt;br&gt;添加成功&lt;br&gt;&lt;br&gt;&lt;a href='test.jsp'&gt;返回&lt;/a&gt;&quot;);<br>
&nbsp;&nbsp; } else if (request.getParameter(&quot;act&quot;) != null<br>
&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; request.getParameter(&quot;act&quot;).equals(&quot;del&quot;)) {<br>
&nbsp;&nbsp;&nbsp; XmlBean.DelXML(request);<br>
&nbsp;&nbsp;&nbsp; out.println(&quot;&lt;p align='center'&gt;&lt;br&gt;&lt;br&gt;删除成功&lt;br&gt;&lt;br&gt;&lt;a href='test.jsp'&gt;返回&lt;/a&gt;&quot;);<br>
&nbsp;&nbsp; } else if (request.getParameter(&quot;act&quot;) != null<br>
&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; request.getParameter(&quot;act&quot;).equals(&quot;edit&quot;)) {<br>
&nbsp;&nbsp;&nbsp; XmlBean.EditXML(request);<br>
&nbsp;&nbsp;&nbsp; out.println(&quot;&lt;p align='center'&gt;&lt;br&gt;&lt;br&gt;修改成功&lt;br&gt;&lt;br&gt;&lt;a href='test.jsp'&gt;返回&lt;/a&gt;&quot;);<br>
&nbsp;&nbsp; } else {<br>
&nbsp;&nbsp;&nbsp; out.print(&quot;&lt;p align='center'&gt;&lt;br&gt;&lt;br&gt;非法操作&lt;br&gt;&lt;br&gt;&lt;a href='test.jsp'&gt;返回&lt;/a&gt;&quot;);<br>
&nbsp;&nbsp; }<br>
%&gt;</font><br>
</font>/===============================正文结束========================================/<br>
<strong>备注：<br>
</strong><strong>1，</strong><font color="#ff0000">XmlBean.java</font> 文件里法老注名文字为<font style="background-color: #000000" color="#ffff00">黄色</font>的部分,是修改的地方,<font style="background-color: #000000" color="#cc99ff">紫色</font>引掉的部分是原程序的写法!<br>
2，<font color="#ff0000">MyXml.xml</font> 文件的默认编码法老改成了 <font color="#800000"><strong>encoding=&quot;utf-8&quot; </strong><font color="#000000">的原因是:在weblogic 8下面解析GBK或者GB2312的时候总是异常，tomcat是好的，可能是weblogic自己默认的xml解析器不支持GBK吧,这个问题一直没搞好~如果哪位高手晓得解决方法，请回复此贴告诉我~~谢谢大家！</font><br>
</font></p>
</div> <a href="http://hi.baidu.com/dashuaiwang/blog/item/f0c0a33852d983cbd46225e6.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%BE%AD%D1%E9%D7%DC%BD%E1">经验总结</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/f0c0a33852d983cbd46225e6.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-22  23:52</pubDate>
        <category><![CDATA[经验总结]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/f0c0a33852d983cbd46225e6.html</guid>
</item>

<item>
        <title><![CDATA[Xerces解析XML文档详解_Xerces解析XML文档_使用Apache Xerces解析XML文档]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/d0ca58a7f609039cd0435856.html]]></link>
        <description><![CDATA[
		
		<div class="cnt">
<div>Xerces解析XML文档详解_Xerces解析XML文档_使用Apache Xerces解析XML文档</div>
<div> </div>
<div>一、技术概述 <br>
<br>
在用Java解析XML时候，一般都使用现成XML解析器来完成，自己编码解析是一件很棘手的问题，对程序员要求很高，一般也没有专业厂商或者开源组织实现的好。 <br>
<br>
Java解析XML的原理图如下： <br>
<br>
目前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解析器。但并不是所有的Java XML解析工具都实现了SUN提供的接口。DOM4J就没有遵循SUN的JAXP规范，但非常优秀。 <br>
<br>
DOM 采用建立树形结构的方式访问 XML 文档，而 SAX 采用的事件模型。 <br>
<br>
DOM 是W3C组织推荐的处理XML的标准接口，DOM 解析器把 XML 文档转化为一个包含其内容的树，并可以对树进行遍历。用 DOM 解析模型的优点是编程容易，开发人员只需要调用建树的指令，然后利用navigation APIs访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。然而由于使用 DOM 解析器的时候需要处理整个 XML 文档，所以对性能和内存的要求比较高，尤其是遇到很大的 XML 文件的时候。由于它的遍历能力，DOM 解析器常用于 XML 文档需要频繁的改变的服务中。 <br>
<br>
SAX是由XML_DEV邮件列表的成员开发的，它不是某个官方机构的标准，也不由W3C组织或其他任何官方机构维护，但它是XML社区事实上的标准。虽然SAX只是&ldquo;民间&rdquo;标准，但是它在XML中的应用丝毫不比DOM少，几乎所有的XML解析器都支持它。SAX 解析器采用了基于事件的模型，它在解析 XML 文档的时候可以触发一系列的事件，当发现给定的tag的时候，它可以激活一个回调方法，告诉该方法制定的标签已经找到。SAX 对内存的要求通常会比较低，因为它让开发人员自己来决定所要处理的tag。特别是当开发人员只需要处理文档中所包含的部分数据时，SAX 这种扩展能力得到了更好的体现。但用 SAX 解析器的时候编码工作会比较困难，而且很难同时访问同一个文档中的多处不同数据。 <br>
<br>
DOM和SAX只是定义了一些接口，以及某些接口的默认实现，一个应用程序要想利用DOM或SAX访问XML文档，还需要一个实现了DOM或SAX的解析器（实现DOM和SAX中定义的接口，提供DOM和SAX定义的功能）。 <br>
<br>
Apache的Xerces是一个使用非常广泛的解析其，它提供了DOM和SAX的调用接口，并有多种语言的实现版本，要利用Xerces访问XML文档，只需要在应用程序中构造一个解析器实现类的对象。 <br>
<br>
这里面还存在一个问题，虽然使用的是标准的DOM和SAX接口，由于不同的XML解析器的实现类是不同的，如果使用另外一种解析器，仍然需要修改应用程序，只不过修改的代码量较小，需要更改XML解析器实现类的类名，然后重新编译、发布。 <br>
<br>
然而，对于兼容JAXP的XML解析器，我们可以选用JAXP API，这样在更换兼容JAXP解析器的时候，就不用对已发布的程序做任何的改动。 <br>
<br>
JAXP开发包由javax.xml包、org.w3c.dom包、org.xml.sax包及其子包组成。在javax.xml.parsers包中，定义了几个工厂类，用于加载DOM和SAX的实现类。 <br>
<br>
<br>
使用JAXP API解析XML的原理如下： <br>
<br>
二、使用DOM解析XML <br>
<br>
DOM的核心概念就是NODE(节点)。DOM在分析XML文档时,将组成XML文档的各个部分(元素,属性,文本,注释,处理指令等)映射成一个对象,这个对象就叫做节点。在内存中这些节点形成一棵树。整棵树就是一个节点,树中的每一个节点也是一棵树（子树）。DOM就是对这棵树的一个对象描述,我们通过访问树中的节点来存取XML文档的内容。 <br>
<br>
DOM定义了一个Node接口，用于表示文档树中一个节点。从这个接口派生出来更多的具体的接口。例如，表示整个文档的Document接口，表示XML文档中的一个元素的Element接口，表示元素属性的Attr接口，都是从Node接口派生而来的。在org.w3c.dom包中，表示XML文档各组成部分的接口的继承关系如图： <br>
<br>
<br>
举个例子，引用java web开发大全，有改动： <br>
<br>
students.xml <br>
---------------------------------------------------------------------- <br>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;GB2312&quot;?&gt; <br>
&lt;?xml-stylesheet type=&quot;text/xsl&quot; href=&quot;students.xsl&quot;?&gt; <br>
&lt;students&gt; <br>
&nbsp;&nbsp;&nbsp;  &lt;student sn=&quot;01&quot;&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;name&gt;张三&lt;/name&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;age&gt;18&lt;/age&gt; <br>
&nbsp;&nbsp;&nbsp;  &lt;/student&gt; <br>
&nbsp;&nbsp;&nbsp;  &lt;student sn=&quot;02&quot;&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;name&gt;李四&lt;/name&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;age&gt;20&lt;/age&gt; <br>
&nbsp;&nbsp;&nbsp;  &lt;/student&gt; <br>
&lt;/students&gt; <br>
---------------------------------------------------------------------- <br>
<br>
public class DOMStudentsInfo { <br>
&nbsp;&nbsp;&nbsp;  public static void main(String[] args) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  //获取生成 DOM 对象树的解析器 <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  try { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  //从 DocumentBuilderFactory获取 DocumentBuilder实例 <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DocumentBuilder db = dbf.newDocumentBuilder(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  File file = new File(&quot;students.xml&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  ////从 XML 文档获取 DOM 文档实例 <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Document doc = db.parse(file); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  //获取某节点的集合 <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  NodeList nl = doc.getElementsByTagName(&quot;student&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  int len = nl.getLength(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  for (int i = 0; i &lt; len; i++) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Element eltStu = (Element) nl.item(i); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Node eltName = eltStu.getElementsByTagName(&quot;name&quot;).item(0); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Node eltAge = eltStu.getElementsByTagName(&quot;age&quot;).item(0); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  String name = eltName.getFirstChild().getNodeValue(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  String age = eltAge.getFirstChild().getNodeValue(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.print(&quot;姓名：&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(name); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.print(&quot;年龄：&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(age); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot;----------------------------\n&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  catch (ParserConfigurationException e) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  e.printStackTrace(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  catch (SAXException e) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  e.printStackTrace(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  catch (IOException e) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  e.printStackTrace(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;  } <br>
} <br>
<br>
<br>
运行结果： <br>
<br>
姓名：张三 <br>
年龄：18 <br>
---------------------------- <br>
姓名：李四 <br>
年龄：20 <br>
---------------------------- <br>
<br>
Process finished with exit code 0 <br>
<br>
<br>
关于Node接口的更多信息，可以参看JDK的API文档。 <br>
<br>
<br>
三、使用SAX解析XML <br>
<br>
data_10k.xml <br>
---------------------------------------------------------------------- <br>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;GB2312&quot;?&gt; <br>
&lt;?xml-stylesheet type=&quot;text/xsl&quot; href=&quot;students.xsl&quot;?&gt; <br>
&lt;result&gt; <br>
&nbsp;&nbsp;&nbsp;  &lt;value&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;no&gt;a1234&lt;/no&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;addr&gt;四川省xx县xx镇xx路x段xx号&lt;/addr&gt; <br>
&nbsp;&nbsp;&nbsp;  &lt;/value&gt; <br>
&nbsp;&nbsp;&nbsp;  &lt;value&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;no&gt;b1234&lt;/no&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;addr&gt;四川省xx市xx乡xx村xx组&lt;/addr&gt; <br>
&nbsp;&nbsp;&nbsp;  &lt;/value&gt; <br>
&lt;/result&gt; <br>
---------------------------------------------------------------------- <br>
<br>
public class MyXMLReader2 extends DefaultHandler { <br>
&nbsp;&nbsp;&nbsp;  java.util.Stack tags = new java.util.Stack(); <br>
&nbsp;&nbsp;&nbsp;  public MyXMLReader2() { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  super(); <br>
&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;  public static void main(String args[]) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  long lasting = System.currentTimeMillis(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  try { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  SAXParserFactory sf = SAXParserFactory.newInstance(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  SAXParser sp = sf.newSAXParser(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  MyXMLReader2 reader = new MyXMLReader2(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  sp.parse(new InputSource(&quot;data_10k.xml&quot;), reader); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } catch (Exception e) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  e.printStackTrace(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot;运行时间：&quot; + (System.currentTimeMillis() - lasting) + &quot; 毫秒&quot;); <br>
&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;  public void characters(char ch[], int start, int length) throws SAXException { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  String tag = (String) tags.peek(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if (tag.equals(&quot;no&quot;)) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.print(&quot;车牌号码：&quot; + new String(ch, start, length)); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if (tag.equals(&quot;addr&quot;)) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot; 地址:&quot; + new String(ch, start, length)); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;  public void startElement( <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  String uri, <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  String localName, <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  String qName, <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Attributes attrs) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  tags.push(qName); <br>
&nbsp;&nbsp;&nbsp;  } <br>
} <br>
<br>
运行结果： <br>
<br>
车牌号码：a1234车牌号码： <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  地址:四川省xx县xx镇xx路x段xx号 <br>
地址: <br>
&nbsp;&nbsp;  <br>
地址: <br>
&nbsp;&nbsp;  <br>
车牌号码：b1234车牌号码： <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  地址:四川省xx市xx乡xx村xx组 <br>
地址: <br>
&nbsp;&nbsp;  <br>
地址: <br>
运行时间：327 毫秒 <br>
<br>
Process finished with exit code 0 <br>
<br>
四、使用DOM4j解析xml <br>
<br>
public class MyXMLReader4 { <br>
&nbsp;&nbsp;&nbsp;  public static void main(String arge[]) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  long lasting = System.currentTimeMillis(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  try { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  File f = new File(&quot;data_10k.xml&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  SAXReader reader = new SAXReader(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Document doc = reader.read(f); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Element root = doc.getRootElement(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Element foo; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  for (Iterator i = root.elementIterator(&quot;value&quot;); i.hasNext();) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  foo = (Element) i.next(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.print(&quot;车牌号码:&quot; + foo.elementText(&quot;no&quot;)); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot; 车主地址:&quot; + foo.elementText(&quot;addr&quot;)); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } catch (Exception e) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  e.printStackTrace(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot;运行时间：&quot; + (System.currentTimeMillis() - lasting) + &quot; 毫秒&quot;); <br>
&nbsp;&nbsp;&nbsp;  } <br>
} <br>
<br>
五、使用JDOM解析xml <br>
<br>
public class MyXMLReader3 { <br>
&nbsp;&nbsp;&nbsp;  public static void main(String arge[]) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  long lasting = System.currentTimeMillis(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  try { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  SAXBuilder builder = new SAXBuilder(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Document doc = builder.build(new File(&quot;data_10k.xml&quot;)); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Element foo = doc.getRootElement(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  List allChildren = foo.getChildren(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  for (int i = 0; i &lt; allChildren.size(); i++) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.print(&quot;车牌号码:&quot; + ((Element) allChildren.get(i)).getChild(&quot;no&quot;).getText()); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot; 车主地址:&quot; + ((Element) allChildren.get(i)).getChild(&quot;addr&quot;).getText()); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } catch (Exception e) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  e.printStackTrace(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot;运行时间：&quot; + (System.currentTimeMillis() - lasting) + &quot; 毫秒&quot;); <br>
&nbsp;&nbsp;&nbsp;  } <br>
} <br>
<br>
<br>
六、使用JAXP解析XML <br>
<br>
public class MyXMLReader1 { <br>
&nbsp;&nbsp;&nbsp;  public static void main(String arge[]) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  long lasting = System.currentTimeMillis(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  try { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  File f = new File(&quot;data_10k.xml&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DocumentBuilder builder = factory.newDocumentBuilder(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Document doc = builder.parse(f); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  NodeList nl = doc.getElementsByTagName(&quot;value&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  for (int i = 0; i &lt; nl.getLength(); i++) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.print(&quot;车牌号码:&quot; + doc.getElementsByTagName(&quot;no&quot;).item(i).getFirstChild().getNodeValue()); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot; 车主地址:&quot; + doc.getElementsByTagName(&quot;addr&quot;).item(i).getFirstChild().getNodeValue()); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } catch (Exception e) { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  e.printStackTrace(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  } <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot;运行时间：&quot; + (System.currentTimeMillis() - lasting) + &quot; 毫秒&quot;); <br>
&nbsp;&nbsp;&nbsp;  } <br>
}</div>
</div> <a href="http://hi.baidu.com/dashuaiwang/blog/item/d0ca58a7f609039cd0435856.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%BE%AD%D1%E9%D7%DC%BD%E1">经验总结</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/d0ca58a7f609039cd0435856.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-22  15:27</pubDate>
        <category><![CDATA[经验总结]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/d0ca58a7f609039cd0435856.html</guid>
</item>

<item>
        <title><![CDATA[SAX解析XML文档详解_JAVA SAX解析XML文档详解_使用SAX解析XML文档_JAVA SAX解析XML文档_SAX解析XML文档]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/0ff813248e3f5c22d507427b.html]]></link>
        <description><![CDATA[
		
		<div>
<div class="post">
<h2> </h2>
</div>
</div>
<p>SAX解析XML文档详解_JAVA SAX解析XML文档详解_使用SAX解析XML文档_JAVA SAX解析XML文档_SAX解析XML文档</p>
<p>步骤1.一个简单的XML文档：<br>
&nbsp;&nbsp;  XML代码：<br>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; <br>
&lt;StudentInfo&gt; <br>
&nbsp;&nbsp;&nbsp;  &lt;student&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;name&gt;赵海波&lt;/name&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;sex&gt;男&lt;/sex&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lesson&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lessonName&gt;Spring整合开发&lt;/lessonName&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lessonScore&gt;85&lt;/lessonScore&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;/lesson&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lesson&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lessonName&gt;轻量级J2EE应用开发&lt;/lessonName&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lessonScore&gt;95&lt;/lessonScore&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;/lesson&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lesson&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lessonName&gt;Ajax应用开发&lt;/lessonName&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lessonScore&gt;80&lt;/lessonScore&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;/lesson&gt; <br>
&nbsp;&nbsp;&nbsp;  &lt;/student&gt; <br>
&nbsp;&nbsp;&nbsp;  &lt;student&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;name&gt;程卫娜&lt;/name&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;sex&gt;女&lt;/sex&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lesson&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lessonName&gt;Spring整合开发&lt;/lessonName&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lessonScore&gt;80&lt;/lessonScore&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;/lesson&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lesson&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lessonName&gt;轻量级J2EE应用开发&lt;/lessonName&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lessonScore&gt;85&lt;/lessonScore&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;/lesson&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lesson&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lessonName&gt;Ajax应用开发&lt;/lessonName&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;lessonScore&gt;90&lt;/lessonScore&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;/lesson&gt; <br>
&nbsp;&nbsp;&nbsp;  &lt;/student&gt; <br>
&lt;/StudentInfo&gt; <br>
步骤2.用于处理XML文档的事件监听器：<br>
&nbsp;&nbsp;  Java代码：<br>
import org.xml.sax.*;&nbsp;&nbsp;  <br>
public class XMLContentHandler implements ContentHandler&nbsp;&nbsp;  <br>
{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  //DTD中定义的元素名&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  private static final String ELEMENT_NAME = &quot;name&quot;;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  private static final String ELEMENT_SEX = &quot;sex&quot;;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  private static final String ELEMENT_LESSON = &quot;lesson&quot;;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  private static final String ELEMENT_LESSON_NAME = &quot;lessonName&quot;;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  private static final String ELEMENT_LESSON_SCORE = &quot;lessonScore&quot;;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  private static final String ELEMENT_STUDENT = &quot;student&quot;;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  private static final String ELEMENT_LINE = &quot;breakLine&quot;;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  //当前元素的数据&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  private String currentData = &quot;&quot;;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  private String lessonName = &quot;&quot;;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  private String lessonScore = &quot;&quot;;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  //当其他某一个调用事件发生时，先调用此方法来在文档中定位。&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  public void setDocumentLocator(Locator locator)&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  //在解析整个文档开始时调用&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  public void startDocument() throws SAXException&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot;XML文件开始解析&quot;);&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  //在解析整个文档结束时调用&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  public void endDocument() throws SAXException&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot;XML文件解析结束&quot;);&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  // 在解析命名空间开始时调用&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  public void startPrefixMapping(String prefix, String uri) throws SAXException&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot;XML解析器开始解析命名空间&quot;);&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  //在解析命名空间结束时调用&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  public void endPrefixMapping(String prefix) throws SAXException&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot;XML解析器解析命名空间结束&quot;);&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  //在解析元素开始时调用&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  public void startElement(String namespaceURI, String localName,String qName, Attributes atts) throws SAXException&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot;XML解析器开始解析元素&quot; + localName);&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  //在解析元素结束时调用&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  public void endElement(String namespaceURI, String localName, String qName) throws SAXException&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if (localName.equals(ELEMENT_NAME))&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(localName + &quot;&nbsp;&nbsp;&nbsp;  :&nbsp;&nbsp;&nbsp;  &quot; + currentData);&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if (localName.equals(ELEMENT_SEX))&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(localName + &quot;&nbsp;&nbsp;&nbsp;&nbsp;  :&nbsp;&nbsp;&nbsp;&nbsp;  &quot; + currentData);&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if (localName.equals(ELEMENT_LESSON_NAME))&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  this.lessonName = currentData;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if (localName.equals(ELEMENT_LESSON_SCORE))&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  this.lessonScore = currentData;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if (localName.equals(ELEMENT_LESSON))&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(lessonName + &quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  :&nbsp;&nbsp;&nbsp;&nbsp;  &quot; + lessonScore);&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot;XML解析器解析元素&quot; + localName + &quot;结束&quot;);&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  // 取得元素数据&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  public void characters(char[] ch, int start, int length) throws SAXException&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  currentData = new String(ch, start, length).trim();&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  System.out.println(&quot;XML解析器成功解析到元素数据&quot;);&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  //取得元素数据中的空白&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  //在解析到处理指令时，调用此方法。&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  public void processingInstruction(String target, String data) throws SAXException&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  //当未验证解析器忽略实体时调用此方法&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  public void skippedEntity(String name) throws SAXException&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
}</p>
<p>步骤3.通过主程序开始解析XML文档，解析XML文档的代码如下：<br>
&nbsp;&nbsp;  java代码：<br>
import java.io.*;&nbsp;&nbsp;  <br>
import org.xml.sax.*;&nbsp;&nbsp;  <br>
import org.xml.sax.helpers.*;&nbsp;&nbsp;  <br>
public class SAXParser&nbsp;&nbsp;  <br>
{&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  public static void main(String[] args)&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  SAXParser sax = new SAXParser();&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  sax.parseXMLFile(&quot;student.xml&quot;);&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  // 解析文档&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  private void parseXMLFile(String fileName)&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  try <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  //通过指定解析器的名称来动态加载解析器&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  XMLReader parser = XMLReaderFactory.createXMLReader(&quot;org.apache.xerces.parsers.SAXParser&quot;);&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  //处理内容前要注册内容管理器&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  parser.setContentHandler(new XMLContentHandler());&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  //开始解析文档&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  parser.parse(fileName);&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  catch (IOException e)&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  e.printStackTrace();&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  catch (SAXException e)&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  e.printStackTrace();&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }&nbsp;&nbsp;  <br>
}</p> <a href="http://hi.baidu.com/dashuaiwang/blog/item/0ff813248e3f5c22d507427b.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%BE%AD%D1%E9%D7%DC%BD%E1">经验总结</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/0ff813248e3f5c22d507427b.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-22  15:00</pubDate>
        <category><![CDATA[经验总结]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/0ff813248e3f5c22d507427b.html</guid>
</item>

<item>
        <title><![CDATA[Java解析XML文档_JDom解析XML(DOM方式)_JDom解析XML(SAX方式)]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/e5c737f50112512cbd310981.html]]></link>
        <description><![CDATA[
		
		<p><font size="3">XML文档解析器有很多：JAXP,JDom，Xerces,Dom4J,Xalan等。<br>
所有解析器通常都有两种解析方式：<br>
DOM方式解析和SAX方式解析<br>
两种方式解析的区别：<br>
DOM方式：<br>
DOM方式解析就是在内存中构建整个XML文档的节点树，从而使对XML文档的操作编程对内存中节点树的操作。<br>
该方式优点：可以方便定位节点。<br>
缺点：需要把整个文档读入内存，然后才能构建起该文档的节点树，如果XML文档比较大时会增加系统开销。</font></p>
<p><font size="3">SAX方式：<br>
SAX方式是按照输入流的方式，按照输入的顺序解析XML文档，这种解析方式是基于时间的，文档节点的开始和结束都可以触发事件，这种解析方式是读入一部分</font></p>
<p><font size="3">文档的同时就开始解析，从而减小了系统的开销，但是定位节点比较困难。</font></p>
<p><font size="3">程序示例：最新的JDOM包下载地址</font><a href="http://jdom.org/dist/binary/"><font size="3">http://jdom.org/dist/binary/</font></a><font size="3"> ，目前是jdom-1.1.1.zip，其下载地址：</font><a href="http://jdom.org/dist/binary/jdom-1.1.1.zip"><font size="3">http://jdom.org/dist/binary/jdom-1.1.1.zip</font></a></p>
<div style="background-color: #ffffff" done2="47">
<div style="background: #fdfdfd; color: black" done2="47"><font size="3">Java语言: JDom解析XML(DOM方式)</font></div>
<div class="source" style="color: #000000; background-color: #ffffff" jquery1250231486750="17">
<p><font size="3"><span style="color: #000000">package</span> <span style="color: #000000">common</span>;<br>
<br>
<span style="color: #000000">import</span> <span style="color: #00aaaa; text-decoration: underline">org.jdom.input.*</span>;<br>
<span style="color: #000000">import</span> <span style="color: #00aaaa; text-decoration: underline">org.jdom.Attribute</span>;<br>
<span style="color: #000000">import</span> <span style="color: #00aaaa; text-decoration: underline">org.jdom.Element</span>;<br>
<span style="color: #000000">import</span> <span style="color: #00aaaa; text-decoration: underline">org.xml.sax.SAXException</span>;<br>
<br>
<span style="color: #000000">import</span> <span style="color: #00aaaa; text-decoration: underline">java.io.*</span>;<br>
<span style="color: #000000">import</span> <span style="color: #00aaaa; text-decoration: underline">java.util.List</span>;<br>
<br>
<span style="color: #000000">import</span> <span style="color: #00aaaa; text-decoration: underline">org.apache.xerces.parsers.*</span>;<br>
<br>
<span style="color: #0000aa">public</span> <span style="color: #0000aa">class</span> <span style="color: #00aa00; text-decoration: underline">JDomDOM</span> <span style="color: #000000">{</span><br>
<br>
&nbsp;&nbsp;&nbsp;  <span style="color: #aaaaaa; font-style: italic">/**</span><br>
<span style="color: #aaaaaa; font-style: italic">&nbsp;&nbsp;&nbsp;&nbsp;  * @param args</span><br>
<span style="color: #aaaaaa; font-style: italic">&nbsp;&nbsp;&nbsp;&nbsp;  */</span><br>
&nbsp;&nbsp;&nbsp;  <span style="color: #0000aa">public</span> <span style="color: #0000aa">static</span> <span style="color: #00aaaa">void</span> <span style="color: #00aa00">main</span>(<span style="color: #000000">String</span><span style="color: #000000">[]</span> <span style="color: #000000">args</span>) <span style="color: #000000">{</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #aaaaaa; font-style: italic">// TODO Auto-generated method stub</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">DOMBuilder</span> <span style="color: #000000">builder</span> <span style="color: #000000">=</span> <span style="color: #0000aa">new</span> <span style="color: #000000">DOMBuilder</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">DOMParser</span> <span style="color: #000000">parser</span> <span style="color: #000000">=</span> <span style="color: #0000aa">new</span> <span style="color: #000000">DOMParser</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">String</span> <span style="color: #000000">path</span> <span style="color: #000000">=</span> <span style="color: #aa5500">&quot;D:\\student.xml&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">String</span> <span style="color: #000000">output</span> <span style="color: #000000">=</span> <span style="color: #aa5500">&quot;&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #0000aa">try</span> <span style="color: #000000">{</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">parser</span><span style="color: #000000">.</span><span style="color: #1e90ff">parse</span>(<span style="color: #000000">path</span>);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">org</span><span style="color: #000000">.</span><span style="color: #1e90ff">w3c</span><span style="color: #000000">.</span><span style="color: #1e90ff">dom</span><span style="color: #000000">.</span><span style="color: #1e90ff">Document</span> <span style="color: #000000">domDocument</span> <span style="color: #000000">=</span> <span style="color: #000000">parser</span><span style="color: #000000">.</span><span style="color: #1e90ff">getDocument</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">org</span><span style="color: #000000">.</span><span style="color: #1e90ff">jdom</span><span style="color: #000000">.</span><span style="color: #1e90ff">Document</span> <span style="color: #000000">jdomDocument</span> <span style="color: #000000">=</span> <span style="color: #000000">builder</span><span style="color: #000000">.</span><span style="color: #1e90ff">build</span>(<span style="color: #000000">domDocument</span>);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">Element</span> <span style="color: #000000">root</span> <span style="color: #000000">=</span> <span style="color: #000000">jdomDocument</span><span style="color: #000000">.</span><span style="color: #1e90ff">getRootElement</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">output</span> <span style="color: #000000">+=</span> <span style="color: #aa5500">&quot;This XML document's root node is: &quot;</span> <span style="color: #000000">+</span> <span style="color: #000000">root</span><span style="color: #000000">.</span><span style="color: #1e90ff">getName</span>() <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;\r\n&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">List</span> <span style="color: #000000">&lt;</span><span style="color: #000000">Element</span><span style="color: #000000">&gt;</span> <span style="color: #000000">children</span> <span style="color: #000000">=</span> <span style="color: #000000">root</span><span style="color: #000000">.</span><span style="color: #1e90ff">getChildren</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">output</span> <span style="color: #000000">+=</span> <span style="color: #aa5500">&quot;The root has &quot;</span> <span style="color: #000000">+</span> <span style="color: #000000">children</span><span style="color: #000000">.</span><span style="color: #1e90ff">size</span>() <span style="color: #000000">+</span> <span style="color: #aa5500">&quot; subNodes \r\n&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #0000aa">for</span>(<span style="color: #00aaaa">int</span> <span style="color: #000000">i</span> <span style="color: #000000">=</span> <span style="color: #009999">0</span>; <span style="color: #000000">i</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">children</span><span style="color: #000000">.</span><span style="color: #1e90ff">size</span>(); <span style="color: #000000">i</span><span style="color: #000000">++){</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">Element</span> <span style="color: #000000">node</span> <span style="color: #000000">=</span> <span style="color: #000000">children</span><span style="color: #000000">.</span><span style="color: #1e90ff">get</span>(<span style="color: #000000">i</span>);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">output</span> <span style="color: #000000">+=</span> <span style="color: #aa5500">&quot;In the &quot;</span> <span style="color: #000000">+</span> <span style="color: #000000">i</span> <span style="color: #000000">+</span> <span style="color: #009999">1</span> <span style="color: #000000">+</span> <span style="color: #000000">node</span><span style="color: #000000">.</span><span style="color: #1e90ff">getName</span>() <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;subNode: \r\n&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">List</span> <span style="color: #000000">&lt;</span><span style="color: #000000">Attribute</span><span style="color: #000000">&gt;</span> <span style="color: #000000">attrs</span> <span style="color: #000000">=</span> <span style="color: #000000">node</span><span style="color: #000000">.</span><span style="color: #1e90ff">getAttributes</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #0000aa">for</span>(<span style="color: #00aaaa">int</span> <span style="color: #000000">k</span> <span style="color: #000000">=</span> <span style="color: #009999">0</span>; <span style="color: #000000">k</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">attrs</span><span style="color: #000000">.</span><span style="color: #1e90ff">size</span>(); <span style="color: #000000">k</span><span style="color: #000000">++){</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">Attribute</span> <span style="color: #000000">attr</span> <span style="color: #000000">=</span> <span style="color: #000000">attrs</span><span style="color: #000000">.</span><span style="color: #1e90ff">get</span>(<span style="color: #000000">k</span>);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">output</span> <span style="color: #000000">+=</span> <span style="color: #aa5500">&quot;The &quot;</span> <span style="color: #000000">+</span> <span style="color: #000000">k</span> <span style="color: #000000">+</span> <span style="color: #009999">1</span> <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;attribute is &quot;</span> <span style="color: #000000">+</span> <span style="color: #000000">attr</span><span style="color: #000000">.</span><span style="color: #1e90ff">getName</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">output</span> <span style="color: #000000">+=</span> <span style="color: #aa5500">&quot; the value is: &quot;</span> <span style="color: #000000">+</span> <span style="color: #000000">attr</span><span style="color: #000000">.</span><span style="color: #1e90ff">getValue</span>() <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;\r\n&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">}</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">List</span> <span style="color: #000000">&lt;</span><span style="color: #000000">Element</span><span style="color: #000000">&gt;</span> <span style="color: #000000">childrenList</span> <span style="color: #000000">=</span> <span style="color: #000000">node</span><span style="color: #000000">.</span><span style="color: #1e90ff">getChildren</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #0000aa">for</span>(<span style="color: #00aaaa">int</span> <span style="color: #000000">j</span> <span style="color: #000000">=</span> <span style="color: #009999">0</span>; <span style="color: #000000">j</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">childrenList</span><span style="color: #000000">.</span><span style="color: #1e90ff">size</span>(); <span style="color: #000000">j</span><span style="color: #000000">++){</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">Element</span> <span style="color: #000000">childNode</span> <span style="color: #000000">=</span> <span style="color: #000000">childrenList</span><span style="color: #000000">.</span><span style="color: #1e90ff">get</span>(<span style="color: #000000">j</span>);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">output</span> <span style="color: #000000">+=</span> <span style="color: #aa5500">&quot;The &quot;</span> <span style="color: #000000">+</span> <span style="color: #000000">j</span> <span style="color: #000000">+</span> <span style="color: #009999">1</span> <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;subNode is: &quot;</span> <span style="color: #000000">+</span> <span style="color: #000000">childNode</span><span style="color: #000000">.</span><span style="color: #1e90ff">getName</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">output</span> <span style="color: #000000">+=</span> <span style="color: #aa5500">&quot; value is &quot;</span> <span style="color: #000000">+</span> <span style="color: #000000">childNode</span><span style="color: #000000">.</span><span style="color: #1e90ff">getValue</span>() <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;\r\n&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">}</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">}</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">System</span><span style="color: #000000">.</span><span style="color: #1e90ff">out</span><span style="color: #000000">.</span><span style="color: #1e90ff">println</span>(<span style="color: #000000">output</span>);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">}</span> <span style="color: #0000aa">catch</span> (<span style="color: #000000">SAXException</span> <span style="color: #000000">e</span>) <span style="color: #000000">{</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #aaaaaa; font-style: italic">// TODO Auto-generated catch block</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">e</span><span style="color: #000000">.</span><span style="color: #1e90ff">printStackTrace</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">}</span> <span style="color: #0000aa">catch</span> (<span style="color: #000000">IOException</span> <span style="color: #000000">e</span>) <span style="color: #000000">{</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #aaaaaa; font-style: italic">// TODO Auto-generated catch block</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">e</span><span style="color: #000000">.</span><span style="color: #1e90ff">printStackTrace</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">}</span><br>
&nbsp;&nbsp;&nbsp;  <span style="color: #000000">}</span><br>
<br>
<span style="color: #000000">}</span><br>
</font></p>
<p> </p>
<div style="background-color: #ffffff" done2="46">
<div style="background: #fdfdfd; color: black" done2="46"><font size="3">Java语言: JDom解析XML(SAX方式)</font></div>
<div class="source" style="color: #000000; background-color: #ffffff" jquery1250231607937="17">
<p><font size="3"><span style="color: #000000">package</span> <span style="color: #000000">common</span>;<br>
<br>
<span style="color: #000000">import</span> <span style="color: #00aaaa; text-decoration: underline">org.jdom.input.*</span>;<br>
<span style="color: #000000">import</span> <span style="color: #00aaaa; text-decoration: underline">org.jdom.*</span>;<br>
<br>
<span style="color: #000000">import</span> <span style="color: #00aaaa; text-decoration: underline">java.io.*</span>;<br>
<span style="color: #000000">import</span> <span style="color: #00aaaa; text-decoration: underline">java.util.List</span>;<br>
<br>
<span style="color: #000000">import</span> <span style="color: #00aaaa; text-decoration: underline">org.apache.xerces.parsers.*</span>;<br>
<br>
<span style="color: #0000aa">public</span> <span style="color: #0000aa">class</span> <span style="color: #00aa00; text-decoration: underline">JDomSAX</span> <span style="color: #000000">{</span><br>
<br>
&nbsp;&nbsp;&nbsp;  <span style="color: #aaaaaa; font-style: italic">/**</span><br>
<span style="color: #aaaaaa; font-style: italic">&nbsp;&nbsp;&nbsp;&nbsp;  * @param args</span><br>
<span style="color: #aaaaaa; font-style: italic">&nbsp;&nbsp;&nbsp;&nbsp;  */</span><br>
&nbsp;&nbsp;&nbsp;  <span style="color: #0000aa">public</span> <span style="color: #0000aa">static</span> <span style="color: #00aaaa">void</span> <span style="color: #00aa00">main</span>(<span style="color: #000000">String</span><span style="color: #000000">[]</span> <span style="color: #000000">args</span>) <span style="color: #000000">{</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #aaaaaa; font-style: italic">// TODO Auto-generated method stub</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">SAXBuilder</span> <span style="color: #000000">builder</span> <span style="color: #000000">=</span> <span style="color: #0000aa">new</span> <span style="color: #000000">SAXBuilder</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">String</span> <span style="color: #000000">path</span> <span style="color: #000000">=</span> <span style="color: #aa5500">&quot;D:\\student.xml&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">String</span> <span style="color: #000000">output</span> <span style="color: #000000">=</span> <span style="color: #aa5500">&quot;&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">Document</span> <span style="color: #000000">doc</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #0000aa">try</span> <span style="color: #000000">{</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">doc</span> <span style="color: #000000">=</span> <span style="color: #000000">builder</span><span style="color: #000000">.</span><span style="color: #1e90ff">build</span>(<span style="color: #000000">path</span>);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">Element</span> <span style="color: #000000">root</span> <span style="color: #000000">=</span> <span style="color: #000000">doc</span><span style="color: #000000">.</span><span style="color: #1e90ff">getRootElement</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">List</span> <span style="color: #000000">&lt;</span><span style="color: #000000">Element</span><span style="color: #000000">&gt;</span><span style="color: #000000">children</span> <span style="color: #000000">=</span> <span style="color: #000000">root</span><span style="color: #000000">.</span><span style="color: #1e90ff">getChildren</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">output</span> <span style="color: #000000">+=</span> <span style="color: #aa5500">&quot;sno\t&quot;</span> <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;name\t&quot;</span> <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;age\t&quot;</span> <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;course\t&quot;</span> <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;\r\n&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #0000aa">for</span>(<span style="color: #00aaaa">int</span> <span style="color: #000000">i</span> <span style="color: #000000">=</span> <span style="color: #009999">0</span>; <span style="color: #000000">i</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">children</span><span style="color: #000000">.</span><span style="color: #1e90ff">size</span>(); <span style="color: #000000">i</span><span style="color: #000000">++){</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">Element</span> <span style="color: #000000">node</span> <span style="color: #000000">=</span> <span style="color: #000000">children</span><span style="color: #000000">.</span><span style="color: #1e90ff">get</span>(<span style="color: #000000">i</span>);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">Attribute</span> <span style="color: #000000">attr</span> <span style="color: #000000">=</span> <span style="color: #000000">node</span><span style="color: #000000">.</span><span style="color: #1e90ff">getAttribute</span>(<span style="color: #aa5500">&quot;sno&quot;</span>);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">output</span> <span style="color: #000000">+=</span> <span style="color: #000000">attr</span><span style="color: #000000">.</span><span style="color: #1e90ff">getValue</span>() <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;\t&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">output</span> <span style="color: #000000">+=</span> <span style="color: #000000">node</span><span style="color: #000000">.</span><span style="color: #1e90ff">getChildText</span>(<span style="color: #aa5500">&quot;name&quot;</span>) <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;\t&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">output</span> <span style="color: #000000">+=</span> <span style="color: #000000">node</span><span style="color: #000000">.</span><span style="color: #1e90ff">getChildText</span>(<span style="color: #aa5500">&quot;age&quot;</span>) <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;\t&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">output</span> <span style="color: #000000">+=</span> <span style="color: #000000">node</span><span style="color: #000000">.</span><span style="color: #1e90ff">getChildText</span>(<span style="color: #aa5500">&quot;course&quot;</span>) <span style="color: #000000">+</span> <span style="color: #aa5500">&quot;\r\n&quot;</span>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">}</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">System</span><span style="color: #000000">.</span><span style="color: #1e90ff">out</span><span style="color: #000000">.</span><span style="color: #1e90ff">println</span>(<span style="color: #000000">output</span>);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">}</span> <span style="color: #0000aa">catch</span> (<span style="color: #000000">JDOMException</span> <span style="color: #000000">e</span>) <span style="color: #000000">{</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #aaaaaa; font-style: italic">// TODO Auto-generated catch block</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">e</span><span style="color: #000000">.</span><span style="color: #1e90ff">printStackTrace</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">}</span> <span style="color: #0000aa">catch</span> (<span style="color: #000000">IOException</span> <span style="color: #000000">e</span>) <span style="color: #000000">{</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #aaaaaa; font-style: italic">// TODO Auto-generated catch block</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">e</span><span style="color: #000000">.</span><span style="color: #1e90ff">printStackTrace</span>();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #000000">}</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  <span style="color: #000000">}</span><br>
<span style="color: #000000">}</span><br>
</font></p>
<p><font size="3">---------------------------------------student.xml--------------------------------</font></p>
<p><font size="3">&lt;?xml version=&quot;1.0&quot; encoding=&quot;gb2312&quot;?&gt;<br>
&lt;students&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;student sno=&quot;110&quot;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;name&gt;Mark&lt;/name&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;age&gt;23&lt;/age&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;course&gt;English&lt;/course&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;/student&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;student sno=&quot;114&quot;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;name&gt;Andy&lt;/name&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;age&gt;19&lt;/age&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;course&gt;Chinese&lt;/course&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;/student&gt;<br>
&lt;/students&gt;</font></p>
</div>
</div>
</div>
</div> <a href="http://hi.baidu.com/dashuaiwang/blog/item/e5c737f50112512cbd310981.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%BE%AD%D1%E9%D7%DC%BD%E1">经验总结</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/e5c737f50112512cbd310981.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-21  18:05</pubDate>
        <category><![CDATA[经验总结]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/e5c737f50112512cbd310981.html</guid>
</item>

<item>
        <title><![CDATA[Java从数据库中读取数据写到xml文件_Java从数据库中读取数据生成xml文件]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/0df514f405026567dcc474ab.html]]></link>
        <description><![CDATA[
		
		<p><strong>Java从数据库中读取数据写到xml文件_Java从数据库中读取数据生成xml文件</strong></p>
<p>操作xml需要的jar包：<a target="_blank" href="http://xml.apache.org/dist/crimson/crimson-1.1.3-bin.zip">crimson.jar</a> <br>
package myXmlSQL;</p>
<p>import org.w3c.dom.Document;<br>
import org.w3c.dom.Element;<br>
import org.apache.crimson.tree.XmlDocument;<br>
import javax.xml.parsers.DocumentBuilderFactory;<br>
import javax.xml.parsers.DocumentBuilder;<br>
import javax.xml.parsers.ParserConfigurationException;<br>
import java.sql.Connection;<br>
import java.sql.DriverManager;<br>
import java.sql.Statement;<br>
import java.sql.ResultSet;<br>
import java.sql.SQLException;<br>
import java.io.File;<br>
import java.io.FileOutputStream;<br>
import java.io.IOException;<br>
import java.io.FileNotFoundException;<br>
import java.io.IOException;<br>
import org.xml.sax.SAXException;</p>
<p>public class test<br>
{<br>
static Connection conn=null;<br>
static String sql;<br>
//static String url=&quot;jdbc:oracle:oci8:@hydb&quot;;<br>
static String url=&quot;jdbc:mysql://localhost:3306/test&quot;;<br>
public static void main(String[] args)<br>
{<br>
try<br>
{&nbsp;&nbsp;  //链接数据库，取得数据<br>
&nbsp;&nbsp;  //Class.forName(&quot;oracle.jdbc.driver.OracleDriver&quot;);//oracle数据库<br>
Class.forName(&quot;com.mysql.jdbc.Driver&quot;);//mysql数据库</p>
<p>conn=DriverManager.getConnection(url,&quot;root&quot;,&quot;&quot;);<br>
&nbsp;&nbsp;  Statement st=conn.createStatement();<br>
&nbsp;&nbsp;  ResultSet rs=st.executeQuery(&quot;select * from users&quot;);<br>
&nbsp;&nbsp;  <br>
&nbsp;&nbsp;  DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();<br>
&nbsp;&nbsp;  DocumentBuilder builder=factory.newDocumentBuilder();<br>
&nbsp;&nbsp;  Document doc=builder.newDocument();<br>
&nbsp;&nbsp;  <br>
&nbsp;&nbsp;  Element comp=doc.createElement(&quot;COMP&quot;);<br>
&nbsp;&nbsp;  <br>
&nbsp;&nbsp;  while(rs.next())<br>
&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  Element person=doc.createElement(&quot;PERSON&quot;);<br>
&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  Element deptno=doc.createElement(&quot;DEPTNO&quot;);<br>
&nbsp;&nbsp;&nbsp;  deptno.appendChild(doc.createTextNode(String.valueOf(rs.getInt(1))));<br>
&nbsp;&nbsp;&nbsp;  person.appendChild(deptno);<br>
&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  Element dname=doc.createElement(&quot;DNAME&quot;);<br>
&nbsp;&nbsp;&nbsp;  dname.appendChild(doc.createTextNode(new test().xmlReplace(rs.getString(2))));<br>
&nbsp;&nbsp;&nbsp;  person.appendChild(dname);<br>
&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  Element loc=doc.createElement(&quot;LOC&quot;);<br>
&nbsp;&nbsp;&nbsp;  loc.appendChild(doc.createTextNode(new test().xmlReplace(rs.getString(3))));<br>
&nbsp;&nbsp;&nbsp;  person.appendChild(loc);<br>
&nbsp;&nbsp;&nbsp;  comp.appendChild(person);<br>
&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;  rs.close();<br>
&nbsp;&nbsp;  st.close();<br>
&nbsp;&nbsp;  conn.close();<br>
&nbsp;&nbsp;  <br>
&nbsp;&nbsp;  doc.appendChild(comp);<br>
&nbsp;&nbsp;  <br>
&nbsp;&nbsp;  ((XmlDocument)doc).write(new FileOutputStream(&quot;src/dept.xml&quot;));<br>
&nbsp;&nbsp;  <br>
&nbsp;&nbsp;  System.out.println(&quot;操作成功！！！&quot;);<br>
}catch(ClassNotFoundException e)<br>
{<br>
&nbsp;&nbsp;  e.printStackTrace();<br>
}catch(SQLException e1)<br>
{<br>
&nbsp;&nbsp;  e1.printStackTrace();<br>
}catch(ParserConfigurationException e2)<br>
{<br>
&nbsp;&nbsp;  e2.printStackTrace();<br>
}catch(FileNotFoundException e3)<br>
{<br>
&nbsp;&nbsp;  e3.printStackTrace();<br>
}catch(IOException e4)<br>
{<br>
&nbsp;&nbsp;  e4.printStackTrace();<br>
}<br>
}<br>
public String xmlReplace(String value){<br>
&nbsp;&nbsp;  System.out.println(&quot;value---old&quot;+value);<br>
&nbsp;&nbsp;  //value=value.replace(&quot;&amp;&quot;, &quot;&amp;amp;&quot;);<br>
//&nbsp;&nbsp;  value=value.replace(&quot;&lt;&quot;, &quot;&amp;lt;&quot;);<br>
//&nbsp;&nbsp;  value=value.replace(&quot;&gt;&quot;, &quot;&amp;gt;&quot;);<br>
//&nbsp;&nbsp;  value=value.replace(&quot;'&quot;, &quot;&amp;apos;&quot;);<br>
&nbsp;&nbsp;  value=value.replace( &quot;&amp;lt;&quot;,&quot;&lt;&quot;);<br>
&nbsp;&nbsp;  value=value.replace( &quot;&amp;gt;&quot;,&quot;&gt;&quot;);<br>
&nbsp;&nbsp;  value=value.replace( &quot;&amp;apos;&quot;,&quot;'&quot;);<br>
// value.replace(&quot;&quot;&quot;&quot;, &quot;&amp;quot;&quot;);<br>
&nbsp;&nbsp;  System.out.println(&quot;value---new&quot;+value);<br>
&nbsp;&nbsp;&nbsp;  return value;<br>
}</p>
<p>}</p> <a href="http://hi.baidu.com/dashuaiwang/blog/item/0df514f405026567dcc474ab.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%BE%AD%D1%E9%D7%DC%BD%E1">经验总结</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/0df514f405026567dcc474ab.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-21  17:35</pubDate>
        <category><![CDATA[经验总结]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/0df514f405026567dcc474ab.html</guid>
</item>

<item>
        <title><![CDATA[CVSNT中文完美稳定版_CVSNT2.5.03_中文版1.3.13.2WinCVS客户端下载_CVS使用教程_CVS下载]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/813197b1211a8f5d08230266.html]]></link>
        <description><![CDATA[
		
		<div class="td1_1">
<p><strong>CVSNT中文完美稳定版_CVSNT2.5.03_中文版1.3.13.2WinCVS客户端下载_CVS使用教程_CVS下载(Authour: 王大帅 Email: </strong><a href="mailto:dashuaiwang@126.com"><strong>dashuaiwang@126.com</strong></a><strong> 个人空间：</strong><a href="http://wds.3u.cn/"><strong>http://wds.3u.cn</strong></a><strong>):</strong><br>
CVS（Concurrent Version System）版本控制系统是一种GNU软件包，主要用于在多人开发环境下的源码的维护。实际上CVS可以维护任意文档的开发和使用，例如共享文件的编辑修改，而不仅仅局限于程序设计。CVS维护的文件类型可以是文本类型也可以是二进制类型。CVS用Copy-Modify-Merge（拷贝、修改、合并）变化表支持对文件的同时访问和修改。它明确地将源文件的存储和用户的工作空间独立开来，并使其并行操作。CVS基于客户端/服务器的行为使其可容纳多个用户，构成网络也很方便。这一特性使得CVS成为位于不同地点的人同时处理数据文件（特别是程序的源代码）时的首选。所有重要的免费软件项目都使用CVS作为其程序员之间的中心点，以便能够综合各程序员的改进和更改。这些项目包括GNOME、KDE、THE GIMP和Wine等;<br>
CVSNT中文完美稳定版_CVSNT2.5.03_中文版1.3.13.2WinCVS客户端下载_CVS使用教程_CVS下载(Authour: 王大帅 Email: <a href="mailto:dashuaiwang@126.com">dashuaiwang@126.com</a> 个人空间：<a href="http://wds.3u.cn/">http://wds.3u.cn</a>):软件版本:2.5.03<br>
软件大小:21.94M<br>
软件语言:英 文 版<br>
软件授权:免 费 版<br>
应用平台:WIN9X/NT/2000/XP/2003<br>
软件介绍:<br>
包含完整的cvsnt 2.5.03服务器<br>
包含完美中文版的1.3.13.2WinCVS客户端<br>
包含详细配置教程，<br>
包含详细 CVS使用教程<br>
以上程序全部运行于windows系统</p>
<p><strong>CVSNT中文完美稳定版_CVSNT2.5.03_中文版1.3.13.2WinCVS客户端下载_CVS使用教程_CVS下载地址：</strong><a href="ftp://202.197.75.218/Down_05/Tools/Develop/cvsnt2.5.03.rar"><strong>ftp://202.197.75.218/Down_05/Tools/Develop/cvsnt2.5.03.rar</strong></a></p>
</div>
<div style="clear: both"> </div>
<div class="reletive">
<div class="td1_1"> </div>
<div class="text">
<table class="FCK__ShowTableBorders" style="width: 100%; border-top-style: none; border-right-style: none; border-left-style: none; border-collapse: collapse; border-bottom-style: none" cellspacing="0" border="0">
    <tbody>
        <tr style="white-space: nowrap">
            <td> </td>
            <td> </td>
        </tr>
    </tbody>
</table>
</div>
</div> <a href="http://hi.baidu.com/dashuaiwang/blog/item/813197b1211a8f5d08230266.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%B9%A4%BE%DF%C8%ED%BC%FE">工具软件</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/813197b1211a8f5d08230266.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-20  19:08</pubDate>
        <category><![CDATA[工具软件]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/813197b1211a8f5d08230266.html</guid>
</item>

<item>
        <title><![CDATA[好用的eclipse打包.jar插件 fat_jar]]></title>
        <link><![CDATA[http://hi.baidu.com/dashuaiwang/blog/item/38ff8aefae1e63e6cf1b3eb5.html]]></link>
        <description><![CDATA[
		
		<p>eclipse有很多插件可以用;<br>
前两天用了一个打包.jar可执行插件,感觉真的很不错,所有的packege都已写入MANIFEST.MF<br>
下载地址<a href="http://sourceforge.net/project/showfiles.php?group_id=115990">http://sourceforge.net/project/showfiles.php?group_id=115990</a></p>
<p>当然先要在eclipse plugins导入net.sf.fjep.fatjar_0.0.23(也即net.sf.fjep.fatjar_0.0.23.zip)<br>
(下载路径: <a href="http://fjep.sourceforge.net/">http://fjep.sourceforge.net/</a>)<br>
也就可在eclipse中右击选择&quot;Build Fat Jar&quot;了<br>
最主要一点就是选择Main-Class,点击&quot;Browse&quot;选择<br>
生成的.jar(名称没有限制)在该工作区下;可以把该.jar copy到任何一路径下执行<br>
执行命令格式:<br>
cd d:\test (切换到.jar存放路径 d:)<br>
java -jar epc.jar(.jar名称)<br>
或者直接双击,也可得到结果</p> <a href="http://hi.baidu.com/dashuaiwang/blog/item/38ff8aefae1e63e6cf1b3eb5.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/dashuaiwang/blog/category/%BE%AD%D1%E9%D7%DC%BD%E1">经验总结</a>&nbsp;<a href="http://hi.baidu.com/dashuaiwang/blog/item/38ff8aefae1e63e6cf1b3eb5.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-20  12:38</pubDate>
        <category><![CDATA[经验总结]]></category>
        <author><![CDATA[angelwds]]></author>
		<guid>http://hi.baidu.com/dashuaiwang/blog/item/38ff8aefae1e63e6cf1b3eb5.html</guid>
</item>


</channel>
</rss>