您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Oracle包XMLDOM创建XML文件及其缺点

2025/10/25 16:45:11发布15次查看
oracle有一个包xmldom,可以很方便的创建xml文件.举个简单的例子.生成test.xml,内容如下 lt;staff content = name and idg
oracle有一个包xmldom,可以很方便的创建xml文件.举个简单的例子.生成test.xml,内容如下
arwen
              123
tom
              456
---------------------------------------------------------------------------------------------------------------------------------------
--生成xml的代码declare
    doc  xmldom.domdocument;
    doc_node  xmldom.domnode;
    root_node  xmldom.domnode;
    user_node xmldom.domnode;
    item_node xmldom.domnode;
root_elmt xmldom.domelement;
    user_elmt xmldom.domelement;
    item_elmt xmldom.domelement;
    item_text xmldom.domtext;
begin
   doc := xmldom.newdomdocument;
   xmldom.setversion(doc, '1.0');
   xmldom.setcharset(doc, 'utf-8');
   --根节点
   doc_node := xmldom.makenode(doc);
   root_elmt := xmldom.createelement(doc,'staff');
   xmldom.setattribute(root_elmt,'content ','name and id');
   root_node:=xmldom.appendchild(doc_node, xmldom.makenode(root_elmt));
--节点1
   user_elmt := xmldom.createelement(doc,'member');
   user_node :=xmldom.appendchild(root_node, xmldom.makenode(user_elmt));
item_elmt :=xmldom.createelement(doc,'name');
     item_node :=xmldom.appendchild(user_node, xmldom.makenode(item_elmt));
     item_text := xmldom.createtextnode(doc,'arwen');
     item_node:=xmldom.appendchild(item_node, xmldom.makenode(item_text));
item_elmt :=xmldom.createelement(doc,'eno');
     item_node :=xmldom.appendchild(user_node, xmldom.makenode(item_elmt));
     item_text := xmldom.createtextnode(doc,'123');
     item_node:=xmldom.appendchild(item_node, xmldom.makenode(item_text));
--节点2
     user_elmt := xmldom.createelement(doc,'member');
     user_node :=xmldom.appendchild(root_node, xmldom.makenode(user_elmt));
item_elmt :=xmldom.createelement(doc,'name');
     item_node :=xmldom.appendchild(user_node, xmldom.makenode(item_elmt));
     item_text := xmldom.createtextnode(doc,'tom');
     item_node:=xmldom.appendchild(item_node, xmldom.makenode(item_text));
item_elmt :=xmldom.createelement(doc,'eno');
     item_node :=xmldom.appendchild(user_node, xmldom.makenode(item_elmt));
     item_text := xmldom.createtextnode(doc,'456');
     item_node:=xmldom.appendchild(item_node, xmldom.makenode(item_text));
--写入操作系统文件中
     xmldom.writetofile(doc,'dir'||'\test.xml');--注意必须先创建一个文件目录dir
     --可以通过语句 : create or replace directory dir as 'd:\temp'
xmldom.freedocument(doc);
end;
这样生成xml文件非常方便,能满足一般的应用了.但是xmldom有个缺点,就是一次性在内存中生成所有xml文件内容,然后写入到磁盘文件中.如果xml文件太大,比如说有个table有几个g,想把它保存成xml文件.这样可能就会出现内存不足,生成文件失败.那该咋整呢?

该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product