`

oracle 生成 xml

阅读更多
最近研究了下,用oracle 怎么生成 xml 的方法,具体如下:

---将数据库中数据 转成 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文件

    2. **DBMS_XMLGEN**:Oracle提供了一个名为DBMS_XMLGEN的包,它允许用户从SQL查询生成XML。这个包包含了一系列过程和函数,例如NEW_CONTEXT、GET_XML和CLOSE,用于高效地生成XML输出。例如,你可以使用`DBMS_XMLGEN....

    Oracle Report XML开发

    - **数据抽取**:使用PL/SQL或其他方式生成XML数据,这可能涉及到编写SQL查询或存储过程来从数据库中提取信息。 - **模板设计**:在BI Publisher中设计模板,将XML数据映射到报告的各个部分,包括文本、表格、图表...

    java链接oracle数据库生成xml文件

    在Java编程中,链接Oracle数据库并生成XML文件是一项常见的任务,尤其在数据交换、报表生成或数据备份等场景。这个过程通常涉及多个步骤,包括数据库连接、SQL查询、数据处理和XML文件的创建。以下是对这个主题的...

    Oracle与XML开发

    - **BI与数据分析**:通过XML将非结构化数据导入Oracle,进行业务智能分析或报表生成。 - **应用集成**:XML与Oracle结合,实现跨平台、跨应用的数据共享和流程自动化。 了解并掌握"Oracle与XML开发",开发者可以更...

    Oracle_XML开发手册Oracle_XML开发手册

    5. **XMLTransform**:Oracle提供XMLTransform函数,可以将XML文档转换为其他格式,如HTML、PDF或不同的XML结构,这在报告生成和数据交换中非常有用。 6. **PL/SQL与XML**:Oracle的PL/SQL编程语言提供了处理XML的...

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

    在Oracle报表开发中,生成XML数据文件是一种常见的需求,用于数据交换、存储或进一步处理。本文将详细讨论如何使用Package(PCK)直接生成XML数据文件,特别关注使用`dbms_xmlgen.getXML()`过程的方法。 Oracle的`...

    Oracle P/L SQL生成XML格式的Excel内容

    Oracle提供了一种方法,通过生成XML文件来实现这一目标,因为Excel能够很好地解析XML数据并展示为表格。本文将深入探讨如何使用PL/SQL生成XML格式的Excel内容,并结合提供的"UTL_Excel.plb"包体和"Excel包头说明和...

    查询结果生成xml格式

    Oracle数据库下,用xmldom,将查询结果生成xml格式。 入参:<?xmlversion="1.0"encoding="utf-8"?> <PARAMS><!--查询条件节点。允许有多个item。条件之间是AND关系--> 查询参数类型 查询参数值 </REQ>

    Oracle XML开发手册

    例如,DBMS_XMLGEN和DBMS_XSLPROCESSOR等包提供了生成XML和处理XSLT转换的能力。 6. **XML索引** - Oracle提供了多种XML索引类型,如DOMAIN INDEX(基于模式的索引)、PATH INDEX(基于路径的索引)和BITMAP INDEX...

    Oracle XML Publisher Create Oracle Report

    模板中的占位符会与XML数据结合,生成最终的报告。 创建Oracle Report的过程主要包括以下步骤: 1. **配置XML Publisher**: 在Oracle E-Business Suite环境中,你需要设置XML Publisher的参数,如数据源、文件存储...

    C#连接oracle数据库及根据表中数据生成xml

    在本项目中,“C#连接Oracle数据库及根据表中数据生成xml”涉及到的技术点包括: 1. **C#连接Oracle数据库**: - 数据库连接:C#可以通过Oracle Managed Data Access (ODP.NET)或Oracle Data Provider for .NET ...

    Oracle9i XML网络数据库开发指南(PDF)

    5. **XSLT处理**: Oracle9i集成了XSLT(Extensible Stylesheet Language Transformations)引擎,可以对XML数据进行转换,生成HTML、PDF或其他格式的输出,方便数据展示和报告。 6. **Web服务支持**: Oracle9i增强...

    Oracle与XML

    - **报告**: 使用XML可以生成灵活的报告,尤其是当需要从数据库中提取复杂的数据集时。 综上所述,**Oracle**与**XML**的结合不仅能够高效地存储和管理XML数据,还提供了强大的工具来处理这些数据,使得开发者能够...

    Oracle_XML.rar_oracle

    2. **XMLGen**: 这是Oracle提供的一个实用程序,用于从关系数据生成XML。你可以使用它将SQL查询结果转换为XML格式,这对于构建Web服务和数据交换非常有用。例如,你可以使用`dbms_xmlgen.getxmltype()`函数将SQL查询...

Global site tag (gtag.js) - Google Analytics