Oracle导出XML文件

1、创建目录-- Create directory

create or replace directory XML_PATH
  as 'D:\AAA';

 2、导出XML

create or replace procedure cllx_db2xml
is
   doc xmldom.DOMDocument;
   ret xmldom.DOMNode;
   rootnode xmldom.DOMNode;
   xmlfile varchar2(100) := 'XML_PATH'||'\'||'cllx.xml';
   cursor cur_cllx is select * from code where dmlb='1';

   procedure addcllx(doc xmldom.DOMDocument,parentnode xmldom.DOMNode,dmz varchar2,dmsm varchar2)
   is
      cllxelem xmldom.DOMElement;
      cllxnode xmldom.DOMNode;
      itemelem xmldom.DOMElement;
      itemnode xmldom.DOMNode;
      text xmldom.DOMText;
      begin

        cllxelem := xmldom.createElement(doc,'dmxx');
        cllxnode := xmldom.appendChild(parentnode,xmldom.makeNode(cllxelem));

        itemelem := xmldom.createElement(doc,'dmz');
        itemnode := xmldom.appendChild(cllxnode,xmldom.makeNode(itemelem));
        text := xmldom.createTextNode(doc,dmz);
        itemnode := xmldom.appendChild(itemnode,xmldom.makeNode(text));

        itemelem := xmldom.createElement(doc,'dmms');
        itemnode := xmldom.appendChild(cllxnode,xmldom.makeNode(itemelem));
        text := xmldom.createTextNode(doc,dmsm);
        itemnode := xmldom.appendChild(itemnode,xmldom.makeNode(text));
      end addcllx;

begin
      --创建一个新的文档对象
      doc := xmldom.newDOMDocument;
      --根标签
      rootnode := xmldom.makeNode(xmldom.createElement(doc,'jtfs'));
      ret := xmldom.appendChild(xmldom.makeNode(doc),rootnode);
      --遍历结果集
      for v_row in cur_cllx loop
          addcllx(doc,ret,v_row.dmz,v_row.dmsm1);
      end loop;
  
      --设置版本号
      xmldom.setVersion(doc,'1.0');
      --把数据写入文件
      xmldom.writeToFile(doc,xmlfile,'GBK');
      --释放文档对象资源
      xmldom.freeDocument(doc);

end cllx_db2xml;
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值