`
jihongbin12329
  • 浏览: 40190 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle dbms_xml

阅读更多

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

分享到:
评论

相关推荐

    DBMS_XMLDOM DBMS_XMLPARSER DBMS_XMLQUERY 文档

    Oracle数据库系统提供了强大的XML处理能力,这主要体现在其内置的几个PL/SQL包上,如DBMS_XMLDOM、DBMS_XMLPARSER和DBMS_XMLQUERY。这些包为开发者提供了处理XML文档的一整套工具,使得在数据库环境中进行XML数据的...

    关于用oracle的dbms_xmldom导出xml文档编码格式UTF-8的问题总结

    ### 关于用Oracle的DBMS_XMLDOM导出XML文档编码格式UTF-8的问题总结 在处理Oracle数据库中使用DBMS_XMLDOM模块创建并导出XML文档时,经常会遇到有关文档编码格式的问题,尤其是如何确保导出的XML文档采用UTF-8编码...

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

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

    XML_API.rar_dbms_xml api

    XML_API.rar_dbms_xml api 是一个与数据库管理和XML处理相关的资源包,主要涉及Oracle数据库中的DBMS_XML API。这个API是一组PL/SQL过程和函数,用于在Oracle数据库中操作XML数据。它允许用户生成、解析、查询以及...

    oracle 使用XMLDOM包,保存XML节点数据到数据库表中,支持多个节点嵌套XML格式

    xml_doc.LoadXML('&lt;report&gt;&lt;patient id="001"&gt;张三&lt;/name&gt;&lt;age&gt;30&lt;/age&gt;&lt;address&gt;北京市&lt;/address&gt;&lt;/patient&gt;&lt;doctor id="002"&gt;&lt;name&gt;李四&lt;/name&gt;&lt;department&gt;内科&lt;/department&gt;&lt;/doctor&gt;&lt;/report&gt;'); -- 获取...

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

    在描述中提到的`XML_PRINT`过程,就是利用`dbms_xmlgen.getXML()`来实现这个功能的一个示例。首先,我们来看一下这个过程的结构和主要步骤: 1. **定义XML输出格式**: `UPDATE_XML_OUTPUT_FORMAT`子程序修改了...

    Oracle 内置程序包API

    本篇文章将深入探讨Oracle内置的DBMS_XMLDOM、XMLPARSER和XMLQUERY这三个与XML处理相关的程序包,以及它们的API用法。 首先,DBMS_XMLDOM程序包是Oracle提供的一套用于处理XML文档的对象模型。它基于W3C DOM...

    Oracle PL/SQL常用47个工具包

    23. **DBMS_XSL_PROCESSOR**: 处理XML文档,转换XSLT样式表。 24. **DBMS_XPLAN**: 显示查询执行计划,帮助优化查询性能。 25. **DBMS_METADATA_ADD_TRANSFORM**: 应用转换到元数据提取,如去除密码或添加注释。 ...

    Oracle_XML开发手册Oracle_XML开发手册

    Oracle XML 开发手册是针对使用 Oracle 数据库进行 XML 相关操作的重要参考资料。XML(Extensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储等领域。Oracle 数据库支持 ...

    Oracle_XML.rar_oracle

    在Oracle数据库系统中,XML(eXtensible Markup Language)是一种重要的数据交换格式,它用于存储和传输结构化数据。本篇文章将详细探讨如何在Oracle环境中生成复杂的XML结构,以满足各种业务需求。 首先,Oracle...

    Creating XML Documents with PL/SQL

    docHandle := DBMS_XMLDOM.newDOMDocument(xml_clob); nodeHandle := DBMS_XMLDOM.getDocumentElement(docHandle); -- 继续处理节点 END; ``` 此外,Oracle数据库还支持XMLType数据类型,可以直接在数据库中存储...

    plsql_xml_docs.rar

    8. **PL/SQL XML函数和过程**:Oracle提供了许多内建的PL/SQL包,如DBMS_XMLGEN、DBMS_XMLPARSER和DBMS_XSLPROCESSOR,它们包含了处理XML的函数和过程,如生成XML、解析XML、执行XSLT转换等。 9. **安全性和权限**...

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

    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...

    OracleAndXML

    4. **XSLT Transformation**:通过DBMS_XSLPROCESSOR包,Oracle支持XSLT(可扩展样式表语言转换),可以将XML文档转换为其他格式,如HTML或另一个XML文档。 5. **XMLIndexing**:为了提高XML数据的查询性能,Oracle...

    oracle利用UTL-HTTP包访问SOAP、HTTP接口并通过管道函数解析xml响应文件用游标以表方式输出

    ### Oracle 使用 UTL_HTTP 访问 SOAP/HTTP 接口并解析 XML 响应 #### 一、使用 utl_http 包之前需要做的数据库配置 为了确保 Oracle 数据库能够通过网络进行 HTTP 请求,首先需要对数据库进行一些配置,具体包括...

    XML数据转换

    4. **PPT**:提到的PPT可能是一个关于XML数据转换的演示文稿,通常会包含以下内容:XML的基础概念,Oracle数据库对XML的支持,如何在Oracle中存储和查询XML数据,使用XMLType的例子,以及使用DBMS_XMLGEN和DBMS_XML...

    XML在Oracle数据库中的应用参考.pdf

    同时,Oracle的DBMS_XSLPROCESSOR包可用于XML文档的转换,DBMS_XMLGEN用于生成XML,DBMS_XMLSAVE用于保存XML到数据库,这些工具进一步增强了XML在Oracle中的处理能力。 总之,Oracle数据库通过XDB组件和XMLTYPE数据...

    Oracle XML方法封装PackageBody

    在本例中,`ZL_XML_Service.pck`很可能包含了各种处理XML的方法,如解析XML字符串,提取XML节点信息,或者执行XML到表格的转换等。这些方法可能使用了上述提到的`DBMS_XMLGEN`和`DBMS_XSLPROCESSOR`包,也可能使用了...

Global site tag (gtag.js) - Google Analytics