﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Understanding Java-随笔分类-Oracle</title><link>http://www.blogjava.net/botson/category/30204.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 22 May 2008 22:37:35 GMT</lastBuildDate><pubDate>Thu, 22 May 2008 22:37:35 GMT</pubDate><ttl>60</ttl><item><title>【Oracle】EXP-00026: 指定了冲突模式 </title><link>http://www.blogjava.net/botson/archive/2008/03/27/188924.html</link><dc:creator>Jam Chan</dc:creator><author>Jam Chan</author><pubDate>Thu, 27 Mar 2008 01:16:00 GMT</pubDate><guid>http://www.blogjava.net/botson/archive/2008/03/27/188924.html</guid><wfw:comment>http://www.blogjava.net/botson/comments/188924.html</wfw:comment><comments>http://www.blogjava.net/botson/archive/2008/03/27/188924.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/botson/comments/commentRss/188924.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/botson/services/trackbacks/188924.html</trackback:ping><description><![CDATA[<span class="Title">1.想使用usera导出userb用户下的表tabb，起初使用如下命令：</span>
<p>exp <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#117;&#115;&#101;&#114;&#97;&#47;&#112;&#97;&#115;&#115;&#97;&#64;&#100;&#98;">usera/passa@db</a> owner=userb tables=(tabb) file=c:\test.dmp</p>
<p>Export: Release 9.2.0.1.0 - Production on 星期五 11月 9 17:48:32 2007</p>
<p>Copyright (c) 1982, 2002, Oracle Corporation.&nbsp; All rights reserved.</p>
<p><br />
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production<br />
With the Partitioning, Real Application Clusters, OLAP and Data Mining options<br />
EXP-00026: 指定了冲突模式<br />
EXP-00000: 导出终止失败</p>
<p><span class="Title">2.这里感觉只指定了三个参数，应该是owner和tables参数有冲突，对exp命令进行修改：</span></p>
<p>exp <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#117;&#115;&#101;&#114;&#97;&#47;&#112;&#97;&#115;&#115;&#97;&#64;&#100;&#98;">usera/passa@db</a>&nbsp; tables=(userb.tabb) file=c:\test.dmp</p>
<p>Export: Release 9.2.0.1.0 - Production on 星期五 11月 9 17:52:20 2007</p>
<p>Copyright (c) 1982, 2002, Oracle Corporation.&nbsp; All rights reserved.</p>
<p><br />
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production<br />
With the Partitioning, Real Application Clusters, OLAP and Data Mining options<br />
已导出 ZHS16GBK 字符集和 UTF8 NCHAR 字符集<br />
服务器使用 UTF8 字符集 (可能的字符集转换)</p>
<p>即将导出指定的表通过常规路径 ...<br />
当前的用户已更改为 userb<br />
. . 正在导出表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6 行被导出<br />
EXP-00091: 正在导出可疑的统计信息。<br />
EXP-00091: 正在导出可疑的统计信息。<br />
EXP-00091: 正在导出可疑的统计信息。<br />
导出成功终止，但出现警告。</p>
<p><span style="font-weight: bold;"><span class="Title"><span style="font-weight: bold;">3.使用如下命令可以到处userb：</span></span></span></p>
<p>exp <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#117;&#115;&#101;&#114;&#97;&#47;&#112;&#97;&#115;&#115;&#97;&#64;&#100;&#98;">usera/passa@db</a>&nbsp; owner=userb file=c:\test.dmp <br />
</p>
<img src ="http://www.blogjava.net/botson/aggbug/188924.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/botson/" target="_blank">Jam Chan</a> 2008-03-27 09:16 <a href="http://www.blogjava.net/botson/archive/2008/03/27/188924.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【原创】编写Oracle存储过程，按照条件把数据导出至XML文件</title><link>http://www.blogjava.net/botson/archive/2008/03/19/187362.html</link><dc:creator>Jam Chan</dc:creator><author>Jam Chan</author><pubDate>Wed, 19 Mar 2008 13:48:00 GMT</pubDate><guid>http://www.blogjava.net/botson/archive/2008/03/19/187362.html</guid><wfw:comment>http://www.blogjava.net/botson/comments/187362.html</wfw:comment><comments>http://www.blogjava.net/botson/archive/2008/03/19/187362.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/botson/comments/commentRss/187362.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/botson/services/trackbacks/187362.html</trackback:ping><description><![CDATA[需要解析的xml文件：<u>people.xml<br />
</u>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #0000ff;">&lt;?</span><span style="color: #ff00ff;">xml&nbsp;version="1.0"</span><span style="color: #0000ff;">?&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">PEOPLE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">PERSON&nbsp;</span><span style="color: #ff0000;">PERSONID</span><span style="color: #0000ff;">="E01"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Tony&nbsp;Blair</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">10&nbsp;Downing&nbsp;Street,&nbsp;London,&nbsp;UK</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(061)&nbsp;98765</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(061)&nbsp;98768</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">blair@everywhere.com</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">PERSON</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">PERSON&nbsp;</span><span style="color: #ff0000;">PERSONID</span><span style="color: #0000ff;">="E02"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Bill&nbsp;Clinton</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">White&nbsp;House,&nbsp;USA</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(001)&nbsp;6400&nbsp;98765</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(001)&nbsp;6400&nbsp;98769</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">bill@everywhere.com</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">PERSON</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">PERSON&nbsp;</span><span style="color: #ff0000;">PERSONID</span><span style="color: #0000ff;">="E03"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Tom&nbsp;Cruise</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">57&nbsp;Jumbo&nbsp;Street,&nbsp;New&nbsp;York,&nbsp;USA</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(001)&nbsp;4500&nbsp;67859</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(001)&nbsp;4500&nbsp;67895</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">cruise@everywhere.com</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">PERSON</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">PERSON&nbsp;</span><span style="color: #ff0000;">PERSONID</span><span style="color: #0000ff;">="E04"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Linda&nbsp;Goodman</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">78&nbsp;Crax&nbsp;Lane,&nbsp;London,&nbsp;UK</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(061)&nbsp;54&nbsp;56789</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(061)&nbsp;54&nbsp;56772</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">linda@everywhere.com</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">30</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">PERSON</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">31</span>&nbsp;<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">PEOPLE</span><span style="color: #0000ff;">&gt;</span></div>
<br />
我以scott用户为例，新建表：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">1</span>&nbsp;<span style="color: #0000ff;">CREATE</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">TABLE</span><span style="color: #000000;">&nbsp;PEOPLE<br />
</span><span style="color: #008080;">2</span>&nbsp;<span style="color: #000000;">(<br />
</span><span style="color: #008080;">3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;PERSONID&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">4</span><span style="color: #000000;">)&nbsp;</span><span style="color: #0000ff;">PRIMARY</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">KEY</span><span style="color: #000000;">,<br />
</span><span style="color: #008080;">4</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;NAME&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">50</span><span style="color: #000000;">),<br />
</span><span style="color: #008080;">5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;ADDRESS&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">200</span><span style="color: #000000;">),<br />
</span><span style="color: #008080;">6</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;TEL&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">),<br />
</span><span style="color: #008080;">7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;FAX&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">),<br />
</span><span style="color: #008080;">8</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;EMAIL&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">100</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">9</span>&nbsp;<span style="color: #000000;">);</span></div>
<br />
假设表里面已经有数据，如果想从XML插入数据请看<a title="【原创】编写Oracle存储过程解析XML，并把数据持久化" target="_blank" href="http://www.blogjava.net/botson/archive/2008/03/19/187360.html">【原创】编写Oracle存储过程解析XML，并把数据持久化</a><br />
<br />
以下是把查询结果生成XML文件的存储过程代码：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #008080;">/*</span><span style="color: #008080;">*<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #008080;">*sqlStr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;附加的查询条件&nbsp;如：where&nbsp;PERSONID&nbsp;=&nbsp;'E01',查询所有输入''<br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #008080;">*file_path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;文件保存路径&nbsp;&nbsp;&nbsp;如：D:\OracleTest\outpeople.xml<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #008080;">*</span><span style="color: #008080;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #0000ff;">CREATE</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">OR</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff00ff;">REPLACE</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">PROCEDURE</span><span style="color: #000000;">&nbsp;OUTPUTPEOPLE(sqlStr&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">,file_path&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #0000ff;">AS</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;personRow&nbsp;PEOPLE</span><span style="color: #808080;">%</span><span style="color: #000000;">ROWTYPE;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">获取游标的行变量</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;person_cur&nbsp;</span><span style="color: #0000ff;">IS</span><span style="color: #000000;">&nbsp;REF&nbsp;</span><span style="color: #0000ff;">CURSOR</span><span style="color: #000000;">;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">自定义REF游标</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;cur&nbsp;person_cur;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;tempSql&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">500</span><span style="color: #000000;">)&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">SELECT&nbsp;*&nbsp;FROM&nbsp;PEOPLE&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #000000;">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">初始的查询语句</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;doc&nbsp;xmlDom.DOMDocument&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.newDOMDocument;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">&nbsp;创建文档对象</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;main_node&nbsp;xmlDom.DOMNode&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.makeNode(doc);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">&nbsp;获得文档节点</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;root_elmt&nbsp;xmlDom.DOMElement:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.createElement(doc,&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">PEOPLE</span><span style="color: #ff0000;">'</span><span style="color: #000000;">);&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">&nbsp;创建根元素</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">==================================================</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">以下定义元素</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;person_elmt&nbsp;xmlDom.DOMElement;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">定义PERSON元素</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;name_elmt&nbsp;xmlDom.DOMElement;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">定义NAME元素</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;address_elmt&nbsp;xmlDom.DOMElement;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">定义ADDRESS元素</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;tel_elmt&nbsp;xmlDom.DOMElement;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">定义TEL元素&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;email_elmt&nbsp;xmlDom.DOMElement;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">定义EMAIL元素&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">==================================================</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">以下定义节点</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;root_node&nbsp;xmlDom.DOMNode;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">定义PEOPLE节点</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;person_node&nbsp;xmlDom.DOMNode;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">定义PERSON节点</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;name_node&nbsp;xmlDom.DOMNode;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">定义NAME节点</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;address_node&nbsp;xmlDom.DOMNode;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">定义ADDRESS节点</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;tel_node&nbsp;xmlDom.DOMNode;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">定义TEL节点</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;email_node&nbsp;xmlDom.DOMNode;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">定义EMAIL节点</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;temp_node&nbsp;xmlDom.DOMNode;<br />
</span><span style="color: #008080;">30</span>&nbsp;<span style="color: #0000ff;">BEGIN</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">&nbsp;向文档节点加入根节点:&lt;PEOPLE&gt;&lt;/PEOPLE&gt;</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">32</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;root_node&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.appendChild(main_node,&nbsp;xmldom.makeNode(root_elmt));<br />
</span><span style="color: #008080;">33</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">附加查询条件</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">34</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;tempSql&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;tempSql</span><span style="color: #808080;">||</span><span style="color: #000000;">sqlStr;<br />
</span><span style="color: #008080;">35</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">打开游标</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">36</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">OPEN</span><span style="color: #000000;">&nbsp;cur&nbsp;</span><span style="color: #0000ff;">FOR</span><span style="color: #000000;">&nbsp;tempSql;<br />
</span><span style="color: #008080;">37</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">遍历游标</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">38</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;LOOP<br />
</span><span style="color: #008080;">39</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">FETCH</span><span style="color: #000000;">&nbsp;cur&nbsp;</span><span style="color: #0000ff;">INTO</span><span style="color: #000000;">&nbsp;personRow;<br />
</span><span style="color: #008080;">40</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">EXIT</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">WHEN</span><span style="color: #000000;">&nbsp;cur</span><span style="color: #808080;">%</span><span style="color: #000000;">NOTFOUND;<br />
</span><span style="color: #008080;">41</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">===========================================================================--</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">42</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person_elmt&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.createElement(doc,&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">PERSON</span><span style="color: #ff0000;">'</span><span style="color: #000000;">);&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">创建PERSON元素</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">43</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">&nbsp;向PEOPLE节点加入PERSON节点&lt;PERSON&gt;&lt;/PERSON&gt;</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">44</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person_node&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.appendChild(root_node,&nbsp;xmldom.makeNode(person_elmt));<br />
</span><span style="color: #008080;">45</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">===========================================================================--</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">46</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">向PERSON节点加入属性PERSONID</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">47</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlDom.SETATTRIBUTE(&nbsp;person_elmt,&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">PERSONID</span><span style="color: #ff0000;">'</span><span style="color: #000000;">,&nbsp;personRow.personId&nbsp;);<br />
</span><span style="color: #008080;">48</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">===========================================================================--</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">49</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name_elmt&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.createElement(doc,&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">NAME</span><span style="color: #ff0000;">'</span><span style="color: #000000;">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">创建NAME元素</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">50</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">向PERSON节点加入子节点NAME</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">51</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name_node&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.appendChild(person_node,xmlDom.makeNode(name_elmt));<br />
</span><span style="color: #008080;">52</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">向NAME节点加入文本</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">53</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp_node&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.appendChild(name_node&nbsp;,&nbsp;xmlDom.makeNode(xmldom.createTextNode(doc,personRow.name)));<br />
</span><span style="color: #008080;">54</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">===========================================================================--</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">55</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;address_elmt&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.createElement(doc,&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">ADDRESS</span><span style="color: #ff0000;">'</span><span style="color: #000000;">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">创建ADDRESS元素</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">56</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">向PERSON节点加入子节点ADDRESS</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">57</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;address_node&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.appendChild(person_node,xmlDom.makeNode(address_elmt));<br />
</span><span style="color: #008080;">58</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">向ADDRESS节点加入文本</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">59</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp_node&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.appendChild(address_node,&nbsp;xmlDom.makeNode(xmldom.createTextNode(doc,personRow.address)));<br />
</span><span style="color: #008080;">60</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">===========================================================================--</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">61</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tel_elmt&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.createElement(doc,&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">TEL</span><span style="color: #ff0000;">'</span><span style="color: #000000;">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">创建TEL元素&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">62</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">向TEL节点加入子节点NAME</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">63</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tel_node&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.appendChild(person_node,xmlDom.makeNode(tel_elmt));<br />
</span><span style="color: #008080;">64</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">向TEL节点加入文本</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">65</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp_node&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.appendChild(tel_node,&nbsp;xmlDom.makeNode(xmldom.createTextNode(doc,personRow.tel)));<br />
</span><span style="color: #008080;">66</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">===========================================================================--</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">67</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;email_elmt&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.createElement(doc,&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">EMAIL</span><span style="color: #ff0000;">'</span><span style="color: #000000;">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">创建EMAIL元素&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">68</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">向PERSON节点加入子节点EMAIL</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">69</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;email_node&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.appendChild(person_node,xmlDom.makeNode(email_elmt));<br />
</span><span style="color: #008080;">70</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">向EMAIL节点加入文本</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">71</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp_node&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.appendChild(email_node,&nbsp;xmlDom.makeNode(xmldom.createTextNode(doc,personRow.email)));<br />
</span><span style="color: #008080;">72</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">===========================================================================--</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">73</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">END</span><span style="color: #000000;">&nbsp;LOOP;<br />
</span><span style="color: #008080;">74</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">CLOSE</span><span style="color: #000000;">&nbsp;cur;<br />
</span><span style="color: #008080;">75</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">写入硬盘</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">76</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;xmlDom.writeToFile(doc,file_path,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">GBK</span><span style="color: #ff0000;">'</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">77</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;EXCEPTION<br />
</span><span style="color: #008080;">78</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">WHEN</span><span style="color: #000000;">&nbsp;OTHERS&nbsp;</span><span style="color: #0000ff;">THEN</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">79</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBMS_output.PUT_LINE(SQLERRM);<br />
</span><span style="color: #008080;">80</span>&nbsp;<span style="color: #0000ff;">END</span><span style="color: #000000;">&nbsp;OUTPUTPEOPLE;</span></div>
<br />
<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/botson/aggbug/187362.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/botson/" target="_blank">Jam Chan</a> 2008-03-19 21:48 <a href="http://www.blogjava.net/botson/archive/2008/03/19/187362.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【原创】编写Oracle存储过程解析XML，并把数据持久化</title><link>http://www.blogjava.net/botson/archive/2008/03/19/187360.html</link><dc:creator>Jam Chan</dc:creator><author>Jam Chan</author><pubDate>Wed, 19 Mar 2008 13:40:00 GMT</pubDate><guid>http://www.blogjava.net/botson/archive/2008/03/19/187360.html</guid><wfw:comment>http://www.blogjava.net/botson/comments/187360.html</wfw:comment><comments>http://www.blogjava.net/botson/archive/2008/03/19/187360.html#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://www.blogjava.net/botson/comments/commentRss/187360.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/botson/services/trackbacks/187360.html</trackback:ping><description><![CDATA[需要解析的xml文件：<u>people.xml<br />
</u>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #0000ff;">&lt;?</span><span style="color: #ff00ff;">xml&nbsp;version="1.0"</span><span style="color: #0000ff;">?&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">PEOPLE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">PERSON&nbsp;</span><span style="color: #ff0000;">PERSONID</span><span style="color: #0000ff;">="E01"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Tony&nbsp;Blair</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">10&nbsp;Downing&nbsp;Street,&nbsp;London,&nbsp;UK</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(061)&nbsp;98765</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(061)&nbsp;98768</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">blair@everywhere.com</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">PERSON</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">PERSON&nbsp;</span><span style="color: #ff0000;">PERSONID</span><span style="color: #0000ff;">="E02"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Bill&nbsp;Clinton</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">White&nbsp;House,&nbsp;USA</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(001)&nbsp;6400&nbsp;98765</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(001)&nbsp;6400&nbsp;98769</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">bill@everywhere.com</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">PERSON</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">PERSON&nbsp;</span><span style="color: #ff0000;">PERSONID</span><span style="color: #0000ff;">="E03"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Tom&nbsp;Cruise</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">57&nbsp;Jumbo&nbsp;Street,&nbsp;New&nbsp;York,&nbsp;USA</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(001)&nbsp;4500&nbsp;67859</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(001)&nbsp;4500&nbsp;67895</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">cruise@everywhere.com</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">PERSON</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">PERSON&nbsp;</span><span style="color: #ff0000;">PERSONID</span><span style="color: #0000ff;">="E04"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Linda&nbsp;Goodman</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">NAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">78&nbsp;Crax&nbsp;Lane,&nbsp;London,&nbsp;UK</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ADDRESS</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(061)&nbsp;54&nbsp;56789</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">TEL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">(061)&nbsp;54&nbsp;56772</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">FAX</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">linda@everywhere.com</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">EMAIL</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">30</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">PERSON</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">31</span>&nbsp;<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">PEOPLE</span><span style="color: #0000ff;">&gt;</span></div>
<br />
我以scott用户为例，新建表：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">1</span>&nbsp;<span style="color: #0000ff;">CREATE</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">TABLE</span><span style="color: #000000;">&nbsp;PEOPLE<br />
</span><span style="color: #008080;">2</span>&nbsp;<span style="color: #000000;">(<br />
</span><span style="color: #008080;">3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;PERSONID&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">4</span><span style="color: #000000;">)&nbsp;</span><span style="color: #0000ff;">PRIMARY</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">KEY</span><span style="color: #000000;">,<br />
</span><span style="color: #008080;">4</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;NAME&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">50</span><span style="color: #000000;">),<br />
</span><span style="color: #008080;">5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;ADDRESS&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">200</span><span style="color: #000000;">),<br />
</span><span style="color: #008080;">6</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;TEL&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">),<br />
</span><span style="color: #008080;">7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;FAX&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">),<br />
</span><span style="color: #008080;">8</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;EMAIL&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">100</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">9</span>&nbsp;<span style="color: #000000;">);</span></div>
<br />
解析并持久化的存储过程代码：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #008080;">/*</span><span style="color: #008080;">*<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #008080;">*file_path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;需要解析的XML文件路径&nbsp;如：D:\OracleTest\people.xml<br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #008080;">*log_path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;保存日志的文件的路径&nbsp;&nbsp;如:&nbsp;D:\OracleTest\xmllog.txt<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #008080;">*</span><span style="color: #008080;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #0000ff;">CREATE</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">OR</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff00ff;">REPLACE</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">PROCEDURE</span><span style="color: #000000;">&nbsp;addPerson(file_path&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">,log_path&nbsp;</span><span style="color: #000000; font-weight: bold;">VARCHAR2</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #0000ff;">AS</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #008080;">--</span><span style="color: #008080;">//XML解析器</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">xmlPar&nbsp;XMLPARSER.parser&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;XMLPARSER.NEWPARSER;<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #008080;">--</span><span style="color: #008080;">//DOM文档对象</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">doc&nbsp;xmldom.DOMDocument;<br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #ff00ff;">len</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">integer</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">personNodes&nbsp;xmldom.DOMNodeList;<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">chilNodes&nbsp;xmldom.DOMNodeList;<br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">tempNode&nbsp;xmldom.DOMNode;<br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">tempArrMap&nbsp;xmldom.DOMNamedNodeMap;<br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #008080;">--</span><span style="color: #008080;">================================</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #008080;">--</span><span style="color: #008080;">以下变量用于获取XML节点的值</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">pid&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">4</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">name&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">50</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;">address&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">200</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">tel&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;">fax&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar2</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;">email&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">100</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">tmp&nbsp;</span><span style="color: #000000; font-weight: bold;">integer</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">26</span>&nbsp;<span style="color: #008080;">--</span><span style="color: #008080;">================================</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">27</span>&nbsp;<span style="color: #0000ff;">BEGIN</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;xmlPar&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmlparser.newParser;<br />
</span><span style="color: #008080;">29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;xmlparser.setErrorLog(&nbsp;xmlPar,&nbsp;log_path);<br />
</span><span style="color: #008080;">30</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;xmlparser.parse(xmlPar,&nbsp;file_path);<br />
</span><span style="color: #008080;">31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;doc&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmlparser.getDocument(&nbsp;xmlPar&nbsp;);&nbsp;&nbsp;<br />
</span><span style="color: #008080;">32</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">&nbsp;释放解析器实例</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">33</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;xmlparser.freeParser(xmlPar);<br />
</span><span style="color: #008080;">34</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">&nbsp;获取所有PERSON元素</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">35</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;personNodes&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.getElementsByTagName(&nbsp;doc,&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">PERSON</span><span style="color: #ff0000;">'</span><span style="color: #000000;">&nbsp;);<br />
</span><span style="color: #008080;">36</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #ff00ff;">len</span><span style="color: #000000;">&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.getLength(&nbsp;personNodes&nbsp;);<br />
</span><span style="color: #008080;">37</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">遍历所有PERSON元素</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">38</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #0000ff;">FOR</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #808080;">in</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000; font-weight: bold;">0</span><span style="color: #000000;">..</span><span style="color: #ff00ff;">len</span><span style="color: #808080;">-</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">39</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;LOOP<br />
</span><span style="color: #008080;">40</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp; </span><span style="color: #008080;">--</span><span style="color: #008080;">获取第i个PERSON</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">41</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;tempNode&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.item(&nbsp;personNodes,&nbsp;i&nbsp;);<br />
</span><span style="color: #008080;">42</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">所有属性</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">43</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;tempArrMap&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.getAttributes(tempNode);<br />
</span><span style="color: #008080;">44</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">获取PERSONID的值</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">45</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;pid&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.getNodeValue(xmldom.getNamedItem(tempArrMap,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">PERSONID</span><span style="color: #ff0000;">'</span><span style="color: #000000;">));<br />
</span><span style="color: #008080;">46</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">获取子元素的值</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">47</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;chilNodes&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.getChildNodes(tempNode);<br />
</span><span style="color: #008080;">48</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;tmp&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.GETLENGTH(&nbsp;chilNodes&nbsp;);<br />
</span><span style="color: #008080;">49</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item(&nbsp;chilNodes,&nbsp;</span><span style="color: #800000; font-weight: bold;">0</span><span style="color: #000000;">&nbsp;)));<br />
</span><span style="color: #008080;">50</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;address&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item(&nbsp;chilNodes,&nbsp;</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">&nbsp;)));<br />
</span><span style="color: #008080;">51</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;tel&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item(&nbsp;chilNodes,&nbsp;</span><span style="color: #800000; font-weight: bold;">2</span><span style="color: #000000;">&nbsp;)));<br />
</span><span style="color: #008080;">52</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;fax&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item(&nbsp;chilNodes,&nbsp;</span><span style="color: #800000; font-weight: bold;">3</span><span style="color: #000000;">&nbsp;)));<br />
</span><span style="color: #008080;">53</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;email&nbsp;:</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item(&nbsp;chilNodes,&nbsp;</span><span style="color: #800000; font-weight: bold;">4</span><span style="color: #000000;">&nbsp;)));<br />
</span><span style="color: #008080;">54</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">插入数据</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">55</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">INSERT</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">INTO</span><span style="color: #000000;">&nbsp;PEOPLE&nbsp;</span><span style="color: #0000ff;">VALUES</span><span style="color: #000000;">&nbsp;(pid,name,address,tel,fax,email);<br />
</span><span style="color: #008080;">56</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">COMMIT</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">57</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #0000ff;">END</span><span style="color: #000000;">&nbsp;LOOP;<br />
</span><span style="color: #008080;">58</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #008080;">--</span><span style="color: #008080;">&nbsp;释放文档对象</span><span style="color: #008080;"><br />
</span><span style="color: #008080;">59</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;xmldom.freeDocument(doc);<br />
</span><span style="color: #008080;">60</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;EXCEPTION<br />
</span><span style="color: #008080;">61</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">WHEN</span><span style="color: #000000;">&nbsp;OTHERS&nbsp;</span><span style="color: #0000ff;">THEN</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">62</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBMS_output.PUT_LINE(SQLERRM);<br />
</span><span style="color: #008080;">63</span>&nbsp;<span style="color: #0000ff;">END</span><span style="color: #000000;">&nbsp;addPerson; <br />
</span></div>
<br />
<br />
有许多朋友都说执行时出现错误，现在我把我在Oracle9i使用的截图贴出来，以作参考：<br />
<br />
<br />
<img src="http://www.blogjava.net/images/blogjava_net/botson/31689/r_3.gif" alt="存储过程截图" />
<img src ="http://www.blogjava.net/botson/aggbug/187360.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/botson/" target="_blank">Jam Chan</a> 2008-03-19 21:40 <a href="http://www.blogjava.net/botson/archive/2008/03/19/187360.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>