`

<转>plsql解析XML

阅读更多
文件:
<?xml   version="1.0"?>   
  <PEOPLE>   
  <PERSON   PERSONID="E01">   
  <NAME>Tony   Blair</NAME>   
  <ADDRESS>10   Downing   Street,   London,   UK</ADDRESS>   
  <TEL>(061)   98765</TEL><FAX>(061)   98768</FAX>   
  <EMAIL>blair@everywhere.com</EMAIL>   
  </PERSON>   
  <PERSON   PERSONID="E02">   
  <NAME>Bill   Clinton</NAME>   
  <ADDRESS>White   House,   USA</ADDRESS>   
  <TEL>(001)   6400   98765</TEL><FAX>(001)   6400   98769</FAX>   
  <EMAIL>bill@everywhere.com</EMAIL>   
  </PERSON>   
  <PERSON   PERSONID="E03">   
  <NAME>Tom   Cruise</NAME>   
  <ADDRESS>57   Jumbo   Street,   New   York,   USA</ADDRESS>   
  <TEL>(001)   4500   67859</TEL><FAX>(001)   4500   67895</FAX>   
  <EMAIL>cruise@everywhere.com</EMAIL>   
  </PERSON>   
  <PERSON   PERSONID="E04">   
  <NAME>Linda   Goodman</NAME>   
  <ADDRESS>78   Crax   Lane,   London,   UK</ADDRESS>   
  <TEL>(061)   54   56789</TEL><FAX>(061)   54   56772</FAX>   
  <EMAIL>linda@everywhere.com</EMAIL>   
  </PERSON>   
  </PEOPLE>   

代码:
  declare   
      dir         varchar2(50);   
      infile   varchar2(20);   
      errlog   varchar2(20);   
      p             xmlparser.parser;   
      doc         xmldom.DOMDocument;   
      n1           xmldom.DOMNodeList;   
      len1       number(3);   
      n2           xmldom.DOMNodeList;   
      len2       number(3);   
      n3           xmldom.DOMNodeList;   
      len3       number(3);   
      v1           xmldom.DOMNode;   
      v2           xmldom.DOMNode;   
      v3           xmldom.DOMNode;   
      attn       xmldom.DOMNode;   
      strSQL   varchar2(200);   
      nnm         xmldom.DOMNamedNodeMap;   
  begin   
      dir         :=   'F:\xml';   
      infile   :=   'people.xml';   
      errlog   :=   'err.log';   
      p             :=   xmlparser.newParser;   
      xmlparser.setValidationMode(p,   false);   
      xmlparser.setErrorLog(p,   dir   ||   '\'   ||   errlog);   
      xmlparser.setBaseDir(p,   dir);   
      xmlparser.parse(p,   dir   ||   '\'   ||   infile);   
      doc   :=   xmlparser.getDocument(p);   
      xmlparser.freeParser(p);   
      n1           :=   xmldom.getElementsByTagName(doc,   'PEOPLE');   
      len1       :=   xmldom.getLength(n1);   
      for   i   in   0   ..   len1   -   1   loop   
          v1       :=   xmldom.item(n1,   i);   
          n2       :=   xmldom.getChildNodes(v1);   
          len2   :=   xmldom.getLength(n2);   
          for   j   in   0   ..   len2   -   1   loop   
                  strSQL   :=   'INSERT   INTO   POPLE   VALUES   (';   
              v2   :=   xmldom.item(n2,   j);   
              if   xmldom.getNodeName(v2)   =   'PERSON'   then   
                  nnm         :=   xmldom.getAttributes(v2);   
                  attn       :=   xmldom.item(nnm,   0);   
                  strSQL   :=   strSQL   ||   ''''   ||   to_char(xmldom.getNodeValue(attn))   ||   '''';   
              end   if;   
              n3       :=   xmldom.getChildNodes(v2);   
              len3   :=   xmldom.getLength(n3);   
              for   z   in   0   ..   len3   -   1   loop   
                  v3           :=   xmldom.item(n3,   z);   
                  strSQL   :=   strSQL   ||   ',   '''   ||   
                                      to_char(xmldom.getNodeValue(xmldom.getFirstChild(v3)))   ||   '''';   
              end   loop;   
              strSQL   :=   strSQL   ||   ')';   
              dbms_output.put_line(strSQL);   
              execute   immediate(strSQL);   
              commit;   
              strSQL:='';   
          end   loop;   
      end   loop;   
      --   释放文档对象   
      xmldom.freeDocument(doc);   
  end;   
分享到:
评论

相关推荐

    plsql_xml_docs.rar

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

    OracleAndXML

    SELECT column_value FROM XMLTable('/root/element' PASSING xmltype('&lt;root&gt;&lt;element&gt;Value1&lt;/element&gt;&lt;element&gt;Value2&lt;/element&gt;&lt;/root&gt;') COLUMNS value VARCHAR2(50) PATH '.'); ``` 4. **XSLT ...

    零基础学Java&cedil;Web开发&nbsp;XML技术基础知识

    XML文档的结构清晰,便于机器解析和人阅读,这使得它成为跨平台、跨应用间交换数据的理想选择。 ### 8.1.2 XML与HTML的区别 与HTML相比,XML专注于数据的描述,而非页面的展示。HTML提供预定义的标签来呈现网页...

    jquery_aja_plsql_xml_hibernate

    《XMLparse.rar》可能包含解析XML的工具或教程;最后,《jquery》可能是jQuery库的源代码或者相关教程。 综合这些资源,我们可以学习如何将这些技术整合在一起,构建一个完整的前后端交互系统,比如利用jQuery和...

    Creating XML Documents with PL/SQL

    文件"PLSQL解析XML.ppt"很可能包含了更详细的教程或示例,讲解了如何使用PL/SQL解析XML文档,可能包括XMLType的使用、DOM模型的操作以及XML数据的查询和更新方法。通过学习这个文件,你可以深入理解PL/SQL与XML的...

    jstl的使用有关JSTL的用法详解

    4. **xml库**:处理XML数据,如`&lt;x:parse&gt;`解析XML,`&lt;x:out&gt;`输出XML内容,`&lt;x:transform&gt;`进行XSLT转换。 5. **function库**:提供自定义函数,可以扩展JSTL的功能。 示例: ```jsp &lt;%@ taglib prefix="c" uri=...

    Oracle表数据和xml文件间相互导入导出的PL.docx

    2. 使用解析器对象解析XML文件,得到DOM(文档对象模型)对象。 3. 遍历DOM对象,构建SQL插入语句,并执行插入操作。 以下是一个简单的示例代码片段: ```plsql DECLARE p xmlparser.parser; xmlfile VARCHAR2...

    Oracle_XML.rar_oracle

    例如,你可以先使用SQL查询获取数据,然后通过XMLGen生成XML字符串,再利用XSLT进行转换,最后可能还需要XMLTable来解析XML以便进行进一步的分析和处理。通过熟练掌握这些工具和技术,你可以有效地管理和操作Oracle...

    网页端oracle查询工具 简易版的PLSQL实现

    【描述】中的关键点提到了几个技术:JSP(JavaServer Pages)、JSON(JavaScript Object Notation)和AJAX(Asynchronous JavaScript and XML)。JSP是Java的一种动态网页技术,用于创建交互式的Web应用。在这个项目...

    PLSQL中文手册(相当全面)

    ### PL/SQL Developer 7.0 用户指南关键知识点解析 #### 一、介绍 - **主要内容**:本书作为 PL/SQL Developer 7.0 的用户指南,提供了详细的使用方法和技巧,适合各种级别的用户。 - **适用人群**:无论是初学者...

    plsql 中文操作手册

    ### PL/SQL Developer 7.0 用户指南:深入解析与应用 #### 一、引言 PL/SQL(Procedural Language for SQL)是Oracle公司为增强SQL功能而设计的一种过程化语言,它将SQL语句与传统的过程化语言结构相结合,提供了...

    PLSQL Developer 13 用户指南 (PLSQL Developer 13.0 User's Guide)

    - **注释解析**:支持解析并跳过注释内容。 ##### 7.11 保存 SQL 脚本 - **脚本保存**:可以将 SQL 语句保存为脚本文件。 - **脚本重用**:便于以后重复使用或共享脚本。 ##### 7.12 创建标准查询 - **查询模板**...

    从PLSQL调用web services实例源码

    6. **处理结果**:根据Web服务的响应,可能需要解析XML或JSON格式的数据,这可能涉及使用Oracle的XML处理函数,如`XMLTYPE`和`XMLTABLE`。 文件列表中的"readme.txt"可能是详细的操作指南,"WEB-INF"目录通常包含...

    Fortify-SCA扫描指南

    - 数据库语言如TSQL、PLSQL、XML等 - JSP和J2EE应用程序 - 第三方IDE插件和集成工具 该工具通过对源代码的语义分析,包括全局数据流分析、控制流分析、配置分析和结构分析来识别软件代码中的安全漏洞。 **Fortify-...

    plsql汉化插件和使用说明

    ### PL/SQL汉化插件和使用说明:深入解析与应用指南 #### 一、PL/SQL Developer 7.0 概览 **PL/SQL Developer**是一款专为Oracle数据库设计的强大开发工具,旨在简化PL/SQL代码的编写、调试和优化过程。版本7.0在...

    oracle plsql 通过utl_http调用 webservice

    - 处理响应,例如,解析返回的XML或JSON数据。 "PRO_WEBSERVICE_TEST.prc"可能是这样的PL/SQL过程的源代码,你可以查看并学习其调用Web Service的具体实现。 3. **测试和调试**:"过程.JPG"和"结果.JPG"可能展示...

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

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

    PLSQL中文操作手册

    ### PL/SQL Developer 7.0 用户指南关键知识点解析 #### 一、介绍 **PL/SQL Developer** 是一款专为 Oracle 数据库设计的强大集成开发环境(IDE),它旨在简化和提高 PL/SQL 应用程序的开发效率。此版本(7.0)提供...

    plsql调用webservice.rar

    UTL_HTTP.WRITE_TEXT(l_http_request, '&lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ...&gt;'); -- 发送请求并接收响应 l_http_response := UTL_HTTP.GET_RESPONSE(l_...

Global site tag (gtag.js) - Google Analytics