DECLARE
Ctx DBMS_XMLGEN.ctxHandle; -- Var's to convert SQL output to XML
xml clob;
emp_no NUMBER := 7369;
xmlc varchar2(4000); -- Var's required to convert lob to varchar
off integer := 1;
len integer := 4000;
BEGIN
Ctx := DBMS_XMLGEN.newContext('SELECT * FROM emp WHERE empno = '||emp_no);
DBMS_XMLGen.setRowsetTag(Ctx, 'EMP_TABLE');
DBMS_XMLGen.setRowTag(Ctx, 'EMP_ROW');
--Dbms_Xmlgen.closeContext(Ctx);
xml := DBMS_XMLGEN.getXML(Ctx);
DBMS_LOB.READ(xml, len, off, xmlc); -- Display first part on screen
DBMS_OUTPUT.PUT_LINE(xmlc);
END;
select * FROM EMP
create table XMLTable (doc_id number, xml_data XMLType);
insert into XMLTable values (1,
XMLType('<FAQ-LIST>
<QUESTION>
<QUERY>Question 1</QUERY>
<RESPONSE>Answer goes here.</RESPONSE>
</QUESTION>
</FAQ-LIST>'));
select extractValue(xml_data, '/FAQ-LIST/QUESTION/RESPONSE') -- XPath expression
from XMLTable
where existsNode(xml_data, '/FAQ-LIST/QUESTION[QUERY="Question 1"]') = 1;
CREATE type address_t AS OBJECT
(
street VARCHAR2(20),
state VARCHAR2(20),
city VARCHAR2(20),
zip VARCHAR2(20)
);
CREATE TABLE employee
(
empno NUMBER,
ename VARCHAR2(200),
address address_t
);
insert into employee values (100,'John',
address_t('100, Main Street','Jacksonville','FL','32607'));
insert into employee values (200,'Jack',
address_t('200 Front Road','San Francisco','CA','94011'));
declare
ctx dbms_xmlgen.ctxhandle;
xmlc varchar2(4000);
len integer := 4000;
result clob;
begin
dbms_output.enable(500000);
-- create a new context with the SQL query
ctx := dbms_xmlgen.newContext('select * from employee');
-- generate the CLOB as a result.
result := dbms_xmlgen.getXML(ctx);
-- print out the result of the CLOB
-- Display first part on screen
printClobOut(result); -- see the lob manual for examples on printing..
-- close the context
dbms_xmlgen.closeContext(ctx);
end
分享到:
相关推荐
Oracle数据库系统提供了强大的XML处理能力,这主要体现在其内置的几个PL/SQL包上,如DBMS_XMLDOM、DBMS_XMLPARSER和DBMS_XMLQUERY。这些包为开发者提供了处理XML文档的一整套工具,使得在数据库环境中进行XML数据的...
### 关于用Oracle的DBMS_XMLDOM导出XML文档编码格式UTF-8的问题总结 在处理Oracle数据库中使用DBMS_XMLDOM模块创建并导出XML文档时,经常会遇到有关文档编码格式的问题,尤其是如何确保导出的XML文档采用UTF-8编码...
2. **DBMS_XMLGEN**:Oracle提供了一个名为DBMS_XMLGEN的包,它允许用户从SQL查询生成XML。这个包包含了一系列过程和函数,例如NEW_CONTEXT、GET_XML和CLOSE,用于高效地生成XML输出。例如,你可以使用`DBMS_XMLGEN....
XML_API.rar_dbms_xml api 是一个与数据库管理和XML处理相关的资源包,主要涉及Oracle数据库中的DBMS_XML API。这个API是一组PL/SQL过程和函数,用于在Oracle数据库中操作XML数据。它允许用户生成、解析、查询以及...
xml_doc.LoadXML('<report><patient id="001">张三</name><age>30</age><address>北京市</address></patient><doctor id="002"><name>李四</name><department>内科</department></doctor></report>'); -- 获取...
在描述中提到的`XML_PRINT`过程,就是利用`dbms_xmlgen.getXML()`来实现这个功能的一个示例。首先,我们来看一下这个过程的结构和主要步骤: 1. **定义XML输出格式**: `UPDATE_XML_OUTPUT_FORMAT`子程序修改了...
本篇文章将深入探讨Oracle内置的DBMS_XMLDOM、XMLPARSER和XMLQUERY这三个与XML处理相关的程序包,以及它们的API用法。 首先,DBMS_XMLDOM程序包是Oracle提供的一套用于处理XML文档的对象模型。它基于W3C DOM...
23. **DBMS_XSL_PROCESSOR**: 处理XML文档,转换XSLT样式表。 24. **DBMS_XPLAN**: 显示查询执行计划,帮助优化查询性能。 25. **DBMS_METADATA_ADD_TRANSFORM**: 应用转换到元数据提取,如去除密码或添加注释。 ...
Oracle XML 开发手册是针对使用 Oracle 数据库进行 XML 相关操作的重要参考资料。XML(Extensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储等领域。Oracle 数据库支持 ...
在Oracle数据库系统中,XML(eXtensible Markup Language)是一种重要的数据交换格式,它用于存储和传输结构化数据。本篇文章将详细探讨如何在Oracle环境中生成复杂的XML结构,以满足各种业务需求。 首先,Oracle...
docHandle := DBMS_XMLDOM.newDOMDocument(xml_clob); nodeHandle := DBMS_XMLDOM.getDocumentElement(docHandle); -- 继续处理节点 END; ``` 此外,Oracle数据库还支持XMLType数据类型,可以直接在数据库中存储...
8. **PL/SQL XML函数和过程**:Oracle提供了许多内建的PL/SQL包,如DBMS_XMLGEN、DBMS_XMLPARSER和DBMS_XSLPROCESSOR,它们包含了处理XML的函数和过程,如生成XML、解析XML、执行XSLT转换等。 9. **安全性和权限**...
Oracle提供了DBMS_XMLGEN和XMLTYPE等包来处理XML数据。以下是一个基本示例: ```sql CREATE OR REPLACE PROCEDURE import_xml (p_xml CLOB) AS v_xml XMLTYPE; BEGIN v_xml := XMLTYPE(p_xml); FOR customer_rec...
4. **XSLT Transformation**:通过DBMS_XSLPROCESSOR包,Oracle支持XSLT(可扩展样式表语言转换),可以将XML文档转换为其他格式,如HTML或另一个XML文档。 5. **XMLIndexing**:为了提高XML数据的查询性能,Oracle...
### Oracle 使用 UTL_HTTP 访问 SOAP/HTTP 接口并解析 XML 响应 #### 一、使用 utl_http 包之前需要做的数据库配置 为了确保 Oracle 数据库能够通过网络进行 HTTP 请求,首先需要对数据库进行一些配置,具体包括...
4. **PPT**:提到的PPT可能是一个关于XML数据转换的演示文稿,通常会包含以下内容:XML的基础概念,Oracle数据库对XML的支持,如何在Oracle中存储和查询XML数据,使用XMLType的例子,以及使用DBMS_XMLGEN和DBMS_XML...
同时,Oracle的DBMS_XSLPROCESSOR包可用于XML文档的转换,DBMS_XMLGEN用于生成XML,DBMS_XMLSAVE用于保存XML到数据库,这些工具进一步增强了XML在Oracle中的处理能力。 总之,Oracle数据库通过XDB组件和XMLTYPE数据...
在本例中,`ZL_XML_Service.pck`很可能包含了各种处理XML的方法,如解析XML字符串,提取XML节点信息,或者执行XML到表格的转换等。这些方法可能使用了上述提到的`DBMS_XMLGEN`和`DBMS_XSLPROCESSOR`包,也可能使用了...