oracle dom xml

create or replace procedure sys.change_xml (dir varchar2)
--节点对节点元素对元素
--DOCUMENT为最大结点
is
doc xmldom.DOMDocument;
main_node xmldom.DOMNode;
root_ele xmldom.DOMElement;
root_node xmldom.DOMNode;
item_node xmldom.DOMNode;
item_ele xmldom.DOMElement;
item_text xmldom.DOMText;
stu_node xmldom.DOMNode;
cursor student_recordes(num number) is
select rownum,sno,sname,age from student where rownum<=num;
begin
doc:=xmldom.newDOMDocument;--创建新的文档
main_node:=xmldom.makeNode(doc);--最大父结点为DOC
root_ele:=xmldom.createElement(doc,'studentes');--新建一个元素属于DOC的
root_node:=xmldom.appendChild(main_node,xmldom.makeNode(root_ele));--把元素变成结点并加在父结点之中
for stu_record in student_recordes(3) loop
/*
 item_ele:=xmldom.createElement(doc,'rownum');
 item_node:=xmldom.appendChild(root_node,xmldom.makeNode(item_ele));
 item_text:=xmldom.createTextNode(doc,stu_record.rownum);
 item_node:=xmldom.appendChild(item_node,xmldom.makeNode(item_text));
 */
 item_ele:=xmldom.createElement(doc,'student');
 xmldom.setAttribute(item_ele,'number',stu_record.rownum);
 stu_node:=xmldom.appendChild(root_node,xmldom.makeNode(item_ele));
 --------------------------------------------------------------------
 item_ele:=xmldom.createElement(doc,'sno');
 item_node:=xmldom.appendChild(stu_node,xmldom.makeNode(item_ele));
 item_text:=xmldom.createTextNode(doc,stu_record.sno);
 item_node:=xmldom.appendChild(item_node,xmldom.makeNode(item_text));
 ------------------------------------------------------------------------
 item_ele:=xmldom.createElement(doc,'sname');
 item_node:=xmldom.appendChild(stu_node,xmldom.makeNode(item_ele));
 item_text:=xmldom.createTextNode(doc,stu_record.sname);
 item_node:=xmldom.appendChild(item_node,xmldom.makeNode(item_text));
 ----------------------------------------------------------------------
 item_ele:=xmldom.createElement(doc,'age');
 item_node:=xmldom.appendChild(stu_node,xmldom.makeNode(item_ele));
 item_text:=xmldom.createTextNode(doc,stu_record.age);
 item_node:=xmldom.appendChild(item_node,xmldom.makeNode(item_text));
 ------------------------------------------------------------------
end loop;
xmldom.writeToFile(doc,dir);
xmldom.freeDocument(doc);
end change_xml;
/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值