`

oracle存储过程生成xml文件

 
阅读更多
create or replace procedure table2xml is
  cursor  person_cur is select * from people;
  person_data people%rowtype;
  doc  xmldom.DOMDocument;
  main_node xmldom.DOMNode;
  root_node xmldom.DOMNode;
  item_node xmldom.DOMNode;
  person_node xmldom.DOMNode;
  root_elem xmldom.DOMElement;
  item_elem xmldom.DOMElement;
  item_text xmldom.DOMText;
begin
  open  person_cur;
  doc := xmldom.newDOMDocument;--创建文档对象
  main_node := xmldom.makeNode(doc);--读取文档节点
  root_elem := xmldom.createElement(doc,'people'); --添加一个元素(节点)
  root_node := xmldom.appendChild(main_node,xmldom.makeNode(root_elem));
 
  loop
    fetch person_cur into  person_data;
    exit when person_cur%notfound;
   
    item_elem := xmldom.createElement(doc,'peopleNo'); --添加 peopleNo 元素
    xmldom.setAttribute(item_elem,'peopleID',person_data.personid);--添加peopleNo 属性
    person_node:= xmldom.appendChild(root_node,xmldom.makeNode(item_elem));--添加为文档的子节点

   
    item_elem :=xmldom.createElement(doc,'name');
    item_node :=xmldom.appendChild(person_node,xmldom.makeNode(item_elem));
    item_text :=xmldom.createTextNode(doc,person_data.name); --设置元素的值
    item_node :=xmldom.appendChild(item_node,xmldom.makeNode(item_text));  --把该值加入该节点中
   
    item_elem :=xmldom.createElement(doc,'address');
    item_node :=xmldom.appendChild(person_node,xmldom.makeNode(item_elem));
    item_text :=xmldom.createTextNode(doc,person_data.address); --设置元素的值
    item_node :=xmldom.appendChild(item_node,xmldom.makeNode(item_text));  --把该值加入该节点中
   
    item_elem :=xmldom.createElement(doc,'tel');
    item_node :=xmldom.appendChild(person_node,xmldom.makeNode(item_elem));
    item_text :=xmldom.createTextNode(doc,person_data.tel); --设置元素的值
    item_node :=xmldom.appendChild(item_node,xmldom.makeNode(item_text));  --把该值加入该节点中
   
    item_elem :=xmldom.createElement(doc,'fax');
    item_node :=xmldom.appendChild(person_node,xmldom.makeNode(item_elem));
    item_text :=xmldom.createTextNode(doc,person_data.fax); --设置元素的值
    item_node :=xmldom.appendChild(item_node,xmldom.makeNode(item_text));  --把该值加入该节点中
   
    item_elem :=xmldom.createElement(doc,'email');
    item_node :=xmldom.appendChild(person_node,xmldom.makeNode(item_elem));
    item_text :=xmldom.createTextNode(doc,person_data.emall); --设置元素的值
    item_node :=xmldom.appendChild(item_node,xmldom.makeNode(item_text));  --把该值加入该节点中
   
  end loop;
  xmldom.writeToFile(doc,'e:\person.xml');
  xmldom.freeDocument(doc);
  close person_cur;
end;
分享到:
评论

相关推荐

    使用oracle存储过程将xml文件数据导入数据库

    总结,使用Oracle存储过程导入XML文件数据涉及的关键步骤包括创建匹配的表结构、编写存储过程以解析XML并插入数据,以及调用存储过程执行导入。通过这种方式,可以高效地处理大量XML数据的导入工作,同时保持数据库...

    Oracle存储过程中使用临时表

    本篇文章将深入探讨如何在Oracle存储过程中使用临时表,包括会话级临时表和事务级临时表。 ### 会话级临时表 会话级临时表(Session-Level Temporary Tables)只在创建它的会话内可见,并且在会话结束时自动删除。...

    pb中执行oracle存储过程脚本

    在描述中提到的“使用批处理进行oracle存储过程脚本的创建和更新的处理”,这可能意味着开发者使用批处理命令(如Windows的批处理文件`.bat`)来自动化执行创建或更新Oracle存储过程的任务。批处理文件可以包含一...

    springboot整合mybatis调用oracle存储过程

    本文将深入探讨如何在Spring Boot项目中整合MyBatis,实现调用Oracle存储过程并处理游标返回的数据。 首先,我们需要在Spring Boot项目中引入相关的依赖。在`pom.xml`文件中添加Oracle JDBC驱动(ojdbc66-oracle...

    Oracle存储过程调用bat批处理脚本程序

    本话题将详细探讨如何在Oracle存储过程中调用外部的批处理脚本,如Windows系统的BAT文件,以实现数据库操作与系统命令的集成。 首先,`Oracle存储过程`是一种预编译的SQL和PL/SQL代码集合,可以被多次调用以执行...

    润乾报表调用oracle存储过程案例说明

    在实际的业务场景中,有时我们需要调用数据库中的存储过程来获取或处理数据,本篇将详细介绍如何在润乾报表中调用Oracle存储过程。 首先,我们要在Oracle数据库中创建存储过程。以下是一个简单的存储过程示例,名为...

    oracle 高效生成指定复杂样式的xml文件

    在Oracle数据库环境中,高效地生成指定复杂样式的XML文件是一项重要的任务,特别是在处理大量数据时。Oracle提供了多种方法来实现这一目标,包括使用PL/SQL过程、内置的XML函数以及XMLType对象。以下是对这个主题的...

    ibatis调用oracle存储过程

    在IT领域,特别是数据库操作与Java开发中,利用ibatis框架调用Oracle存储过程是一个常见的需求,这不仅能够提升代码的执行效率,还能增强应用程序的安全性。本文将深入解析ibatis如何与Oracle数据库中的存储过程进行...

    java调用Oracle存储过程的代码

    总结,通过Java调用Oracle存储过程,我们需要配置JDBC驱动,建立数据库连接,创建CallableStatement,设置参数,执行存储过程,并处理返回的结果。在这个例子中,我们展示了如何调用一个简单的存储过程并打印返回的...

    在Oracle XML DB中存储XML

    - Oracle XML DB提供了一种强大且灵活的方式来管理和存储XML文档,通过使用XMLType数据类型,开发者可以方便地将XML文档集成到现有的数据库应用程序中。 - Oracle XML DB库的引入极大地简化了非结构化数据的管理,...

    Oracle自动生成hibernate实体(.java 和.hbm.xml文件)存储过程

    3. 结果:执行后,存储过程会在A0表中创建或更新记录,这些记录包含生成的Java实体类和`.hbm.xml`映射文件的内容。由于A0是一个文本文件,可能需要额外的步骤来提取和处理这些数据,比如使用脚本将内容导出到实际的...

    oracle xml 转换 存储过程

    根据给定的部分内容,我们可以看到一个名为`DBToXml`的存储过程被创建用于将Oracle数据库中的数据转换为XML文件,并保存到指定目录下。该存储过程接受三个参数:SQL查询语句(`strSQL`)、目标目录路径(`dir`)和...

    spring mybatis 调用oracle存储过程

    Oracle存储过程是一组预编译的SQL语句,可以在数据库服务器端执行,提供更好的性能和安全性。 1. **无返回值的存储过程**: 当存储过程不返回任何结果时,我们只需在MyBatis的Mapper接口中定义一个无返回值的方法...

    oracle存储过程返回多行多列的结构化数组,java调用并解析

    总结来说,本示例展示了如何在Oracle存储过程中定义和使用结构化数组,以及如何在Java中调用这些存储过程并解析返回的多行多列数据。通过这种方式,你可以高效地处理复杂的数据结构,同时利用Java的灵活性来处理这些...

    java调用oracle存储过程入门实例 增删改查

    在Java中调用Oracle存储过程,我们需要使用JDBC(Java Database Connectivity),这是Java标准库提供的一组接口和类,用于与各种数据库进行通信。首先,我们需要添加Oracle JDBC驱动到项目中,例如ojdbc.jar。 1. *...

    Oracle XML 文档PDF手册

    8. **XML流处理**: Oracle提供了流处理能力,允许在不完全加载XML文档到内存的情况下处理大型XML文件,从而节省资源并提高效率。 9. **XML安全**: Oracle数据库提供了一系列的安全特性,如角色、权限和审计,以保护...

    Oracle_Xml.rar_Oracle XML _oracle_xml oracle_xml数据库_操作 xml

    通过这些资源,开发者可以学习到如何在实际项目中使用Oracle XML技术,例如创建XML存储过程、实现XML数据的CRUD操作、优化XML索引以及进行XML数据的转换和验证等。理解并掌握Oracle XML的使用,对于开发涉及XML数据...

    oracle 报表开发中用PCK直接生成xml数据文件

    需要注意的是,这种方法生成的XML文件是以文本形式输出的,如果需要XML文件以二进制格式存储,可以考虑其他方法,例如直接写入BFILE或通过PL/SQL的UTL_FILE包写入磁盘。 总的来说,Oracle的`dbms_xmlgen`包提供了一...

    一个ORACLE导入和导出XML文件的例子

    在Oracle中,可以通过编写存储过程等方式来实现XML文件的导入导出。 #### Oracle中XML文件的导入技术分析 首先,我们来看一下Oracle中导入XML文件的具体实现方法。在给定的部分内容中,提供了一个名为`add_to_...

Global site tag (gtag.js) - Google Analytics