最近研究了下,用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;
分享到:
相关推荐
2. **DBMS_XMLGEN**:Oracle提供了一个名为DBMS_XMLGEN的包,它允许用户从SQL查询生成XML。这个包包含了一系列过程和函数,例如NEW_CONTEXT、GET_XML和CLOSE,用于高效地生成XML输出。例如,你可以使用`DBMS_XMLGEN....
- **数据抽取**:使用PL/SQL或其他方式生成XML数据,这可能涉及到编写SQL查询或存储过程来从数据库中提取信息。 - **模板设计**:在BI Publisher中设计模板,将XML数据映射到报告的各个部分,包括文本、表格、图表...
在Java编程中,链接Oracle数据库并生成XML文件是一项常见的任务,尤其在数据交换、报表生成或数据备份等场景。这个过程通常涉及多个步骤,包括数据库连接、SQL查询、数据处理和XML文件的创建。以下是对这个主题的...
- **BI与数据分析**:通过XML将非结构化数据导入Oracle,进行业务智能分析或报表生成。 - **应用集成**:XML与Oracle结合,实现跨平台、跨应用的数据共享和流程自动化。 了解并掌握"Oracle与XML开发",开发者可以更...
5. **XMLTransform**:Oracle提供XMLTransform函数,可以将XML文档转换为其他格式,如HTML、PDF或不同的XML结构,这在报告生成和数据交换中非常有用。 6. **PL/SQL与XML**:Oracle的PL/SQL编程语言提供了处理XML的...
在Oracle报表开发中,生成XML数据文件是一种常见的需求,用于数据交换、存储或进一步处理。本文将详细讨论如何使用Package(PCK)直接生成XML数据文件,特别关注使用`dbms_xmlgen.getXML()`过程的方法。 Oracle的`...
Oracle提供了一种方法,通过生成XML文件来实现这一目标,因为Excel能够很好地解析XML数据并展示为表格。本文将深入探讨如何使用PL/SQL生成XML格式的Excel内容,并结合提供的"UTL_Excel.plb"包体和"Excel包头说明和...
Oracle数据库下,用xmldom,将查询结果生成xml格式。 入参:<?xmlversion="1.0"encoding="utf-8"?> <PARAMS><!--查询条件节点。允许有多个item。条件之间是AND关系--> 查询参数类型 查询参数值 </REQ>
例如,DBMS_XMLGEN和DBMS_XSLPROCESSOR等包提供了生成XML和处理XSLT转换的能力。 6. **XML索引** - Oracle提供了多种XML索引类型,如DOMAIN INDEX(基于模式的索引)、PATH INDEX(基于路径的索引)和BITMAP INDEX...
模板中的占位符会与XML数据结合,生成最终的报告。 创建Oracle Report的过程主要包括以下步骤: 1. **配置XML Publisher**: 在Oracle E-Business Suite环境中,你需要设置XML Publisher的参数,如数据源、文件存储...
在本项目中,“C#连接Oracle数据库及根据表中数据生成xml”涉及到的技术点包括: 1. **C#连接Oracle数据库**: - 数据库连接:C#可以通过Oracle Managed Data Access (ODP.NET)或Oracle Data Provider for .NET ...
5. **XSLT处理**: Oracle9i集成了XSLT(Extensible Stylesheet Language Transformations)引擎,可以对XML数据进行转换,生成HTML、PDF或其他格式的输出,方便数据展示和报告。 6. **Web服务支持**: Oracle9i增强...
- **报告**: 使用XML可以生成灵活的报告,尤其是当需要从数据库中提取复杂的数据集时。 综上所述,**Oracle**与**XML**的结合不仅能够高效地存储和管理XML数据,还提供了强大的工具来处理这些数据,使得开发者能够...
2. **XMLGen**: 这是Oracle提供的一个实用程序,用于从关系数据生成XML。你可以使用它将SQL查询结果转换为XML格式,这对于构建Web服务和数据交换非常有用。例如,你可以使用`dbms_xmlgen.getxmltype()`函数将SQL查询...