在oracle中元素形成一个xml

declare
results CLOB;
p xmlparser.Parser;
document xmldom.DOMDocument;
rootelement xmldom.DOMElement;
stockRecord xmldom.DOMElement;
fieldsSet stockmarket%rowtype;
tempelement xmldom.DOMElement;
textnode xmldom.DOMNode;
tempnode xmldom.DOMNode;
--type ref_cur is ref cursor return ref_cur;
--user_cur ref_cur;
--sqlstr varchar2;定义用户输入的sql语句
--终极目标,使用动态游标实现(待解决问题 1、数组 2、获得游标的列数)
stock_code char(6);
stock_name varchar2(50);
stock_shortname varchar2(30);
cursor user_cur is
select * from stockmarket;
begin
document:=xmldom.newDOMDocument;--建立document文档对象
rootelement:=xmldom.createElement(document,'Stocktable');--建立该对象的根元素
open user_cur;
loop
fetch user_cur into fieldsSet;
exit when user_cur%notfound;
stock_code:=fieldsSet.stockcode;
stock_name:=fieldsSet.stockname;
stock_shortname:=fieldsSet.stockshortname;

stockRecord:=xmldom.createElement(document,'Stock');--Stock记录

tempelement:=xmldom.createElement(document,'StockCode');
textnode:=xmldom.makeNode(xmldom.createTextNode(document,fieldsSet.stockcode));
tempnode:=xmldom.appendChild(xmldom.makeNode(tempelement),textnode);
tempnode:=xmldom.appendChild(xmldom.makeNode(stockRecord),xmldom.makeNode(tempelement));

tempelement:=xmldom.createElement(document,'StockName');
textnode:=xmldom.makeNode(xmldom.createTextNode(document,fieldsSet.stockname));
tempnode:=xmldom.appendChild(xmldom.makeNode(tempelement),textnode);
tempnode:=xmldom.appendChild(xmldom.makeNode(stockRecord),xmldom.makeNode(tempelement));

tempelement:=xmldom.createElement(document,'StockShortName');
textnode:=xmldom.makeNode(xmldom.createTextNode(document,fieldsSet.stockshortname));
tempnode:=xmldom.appendChild(xmldom.makeNode(tempelement),textnode);
tempnode:=xmldom.appendChild(xmldom.makeNode(stockRecord),xmldom.makeNode(tempelement));

tempnode:=xmldom.appendChild(xmldom.makeNode(rootelement),xmldom.makeNode(stockRecord));
/**
textnode:=xmldom.makeNode(xmldom.createTextNode(document,fieldsSet.stockname));
xmldom.appendChild(tempelement,textnode);

textnode:=xmldom.makeNode(xmldom.createTextNode(document,fieldsSet.stockshortname));
xmldom.appendChild(tempelement,textnode);

xmldom.appendChild(stockRecord,tempelement);
xmldom.appendChild(rootelement,stockRecord);
*/

end loop;
--将根元素添加到Document对象
tempnode:=xmldom.appendChild(xmldom.makeNode(document),xmldom.makenode(rootelement));
xmldom.writeToFile(document,'c:/111.xml');

end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值