`
penghao122
  • 浏览: 363051 次
  • 性别: Icon_minigender_1
  • 来自: 广东珠海
社区版块
存档分类
最新评论

在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;

分享到:
评论

相关推荐

    oracle XML Fundamentals

    在Oracle数据库中,XML与SQL(Structured Query Language)结合,形成了SQL/XML API,使得XML数据可以被查询、更新和存储。Oracle提供了XMLType数据类型,专门用于存储XML文档。通过XMLType,XML文档可以像普通表...

    xml文件解析示范

    1. DOM解析:DOM将整个XML文档加载到内存中,形成一个树形结构,允许开发者通过节点遍历和操作XML数据。这种方式适用于小到中型的XML文件,因为它一次性加载整个文件,内存消耗较大。 2. SAX解析:SAX是一种事件...

    XML 数据标记语言 参考手册

    一个XML文档通常包括文档声明、元素、属性、注释、处理指令等部分。文档声明如`<?xml version="1.0" encoding="UTF-8"?>`用于指定XML版本和字符编码。根元素是文档的顶级元素,所有其他元素都嵌套在根元素内。 三、...

    xml编程技术-书籍1

    XML还支持命名空间(Namespaces),这使得在同一个文档中使用来自不同来源的元素和属性成为可能,避免了命名冲突。例如,`<html xmlns="http://www.w3.org/1999/xhtml">` 定义了一个名为“html”的命名空间。 此外...

    无废话XML

    此外,XML支持命名空间,这使得在同一个文档中使用来自不同来源的元素成为可能,避免了命名冲突。 XML文档的结构严谨,每个打开的元素必须有相应的关闭元素,如`<element>`和`</element>`,以保持文档的平衡。不过...

    xml高级编程的电子书上

    - **DOM解析**:将整个XML文档加载到内存中,形成一个节点树,便于遍历和操作。 - **SAX解析**:事件驱动的解析方式,逐个处理元素,不占用大量内存,适用于大文件。 - **PULL解析**:类似于SAX,但允许开发者按...

    xml上机练习文档

    在Java中,DOM解析器会将整个XML文档加载到内存中,形成一棵树形结构,称为DOM树。你可以通过DOM接口访问和修改树中的任何节点。例如,可以使用`org.w3c.dom.Document`类来获取XML文档的根元素,然后遍历或修改子...

    xml_database.rar_xml_xml databa_xml 数据库_xml数据_数据库 XML

    另一个是"xml与数据库转换",这可能是一个教程或者代码示例,用于说明如何在XML和传统数据库之间进行数据转换。 XML导入数据库的过程通常包括以下步骤: 1. **解析XML**:首先,我们需要解析XML文件,将其内容转化...

    XML学习指南(PDF格式)

    8. **DOM与SAX解析器**:DOM(文档对象模型)解析器将整个XML文档加载到内存中,形成一个树形结构,便于遍历和操作。SAX(简单API for XML)则是事件驱动的解析器,只按需处理文档部分,适合处理大型XML文件。 9. *...

    XML解析 XML操作

    - `jdom.jar`:JDOM是另一个Java XML处理库,专注于提供一个与DOM类似的API,但更适应Java语言。 - `log4j-1.2.8.jar`:这是Apache Log4j的日志框架,虽然不是直接处理XML,但在处理XML过程中记录日志非常有用。 - `...

    数据库转化为xml文件

    数据库到XML文件的转换是一个常见的数据交换和存储过程,尤其在需要将结构化数据与不同系统集成时。XML(eXtensible Markup Language)是一种可扩展标记语言,它允许我们以自定义的方式描述数据,使其在不同的软件和...

    xml文件解析资料汇总(个人收集)

    1. DOM解析:将整个XML文档加载到内存中,构建一个节点树。开发者可以遍历整个树,查找、修改、删除节点。这种方式适合小规模文档,对内存消耗较大。 2. SAX解析:事件驱动型解析,逐行读取文档,遇到元素、属性等...

    XML高级编程学习笔记

    每份XML文档必须有一个根元素,所有的其他元素都包含在其中。元素标签是成对出现的,如`<element>`和`</element>`,且元素名称区分大小写。XML文档还要求有良好的结构,即所有打开的元素必须被正确地关闭。此外,XML...

    jsp实现XML解析文档

    在DOM解析中,该文件会被转化为一棵树,其中每个元素、属性和文本都是树中的一个节点。开发者可以通过API遍历这棵树来获取或修改数据。 **SAX解析**则是一种基于事件的、非内存映射的解析方式。与DOM不同,SAX并不...

    轻松搞定XML中文版

    DOM将整个XML文档加载到内存中,形成一个树形结构,方便进行查找和修改;而SAX则采用事件驱动的方式,逐行读取文档,节省内存,适用于大型文档。 此外,XSLT(Extensible Stylesheet Language Transformations)和...

    XML实现的图书馆系统

    DOM将整个XML文档加载到内存中,形成一个树形结构,方便遍历和修改;SAX是事件驱动的解析器,逐行读取XML,适用于大文件处理;而StAX则允许程序以流式的方式读写XML,既节省内存又可控制进度。 在这个图书馆系统中...

    XML学习手册(包括xml数据库设计)

    DOM将整个XML文档加载到内存中形成一个树形结构,方便访问任何部分;SAX是事件驱动的,逐行读取,适用于大文件;StAX则是流式解析,允许向前移动的迭代器,既节省内存又允许高效处理。 在提供的压缩包文件中,"XML....

    xml的几种方式的操作集锦大全

    1. DOM解析:DOM将整个XML文档加载到内存中,形成一个树形结构,允许开发者通过节点遍历、查找和修改XML内容。这种方式适用于小型XML文件,因为对大文件可能会消耗大量内存。 2. SAX解析:SAX是一种事件驱动的解析...

    xml数据设计教程分享

    每个元素都有一个父元素,除了根元素,它没有父元素。元素可以有子元素,也可以有同级元素。这种层次结构使得数据的组织变得清晰。 XML解析: 解析XML文档有两种主要方式:DOM(Document Object Model)和SAX...

    SSI整合,有ibatis连接oracle的分页,ajax等技术

    "整合"意味着这些技术被集成到一个项目中,形成一个完整的系统。开发者可能在Web服务器上配置了SSI支持,同时在后端设置了Ibatis与Oracle数据库的连接,前端使用JavaScript和AJAX来与后端进行交互,实现动态加载分页...

Global site tag (gtag.js) - Google Analytics