oracle xml parser

create or replace procedure parser_xml (dir varchar2,xml_name varchar2) is
new_parser xmlparser.Parser;
get_doc xmldom.DOMDocument;

nodelist xmldom.DOMNodeList;
nle number;
e xmldom.DOMElement;
n xmldom.DOMNode;
begin
new_parser:=xmlparser.newParser;--得到XML解析器
xmlparser.setValidationMode(new_parser,false);--是否让解析器有验证功能(是否是一种DDL标准)
xmlparser.setBaseDir(new_parser,dir);--在XML解析器中设定被解析文件的路径
xmlparser.parse(new_parser,dir||xml_name);--解析文件根据绝对路径
get_doc:=xmlparser.getDocument(new_parser);--在XML解析器中得到解析后的文档
xmlparser.freeParser(new_parser);--释放解析器
nodelist:=xmldom.getElementsByTagName(get_doc,'*');--得到所有的元素
nle:=xmldom.getLength(nodelist);--得到元素的个数
for i in 0..nle-1 loop
 n:=xmldom.item(nodelist,i);--给元素打标(即得到每一个节点)
 --e:=xmldom.makeElement(n);--把节点变成一个元素来处理(可以对ATTRIBUTER来操作)
 dbms_output.put_line(xmldom.getNodeName(n)||':'||xmldom.getNodeValue(xmldom.getFirstChild(n)));
end loop;
end parser_xml;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值