文件:
<?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;
分享到:
相关推荐
8. **PL/SQL XML函数和过程**:Oracle提供了许多内建的PL/SQL包,如DBMS_XMLGEN、DBMS_XMLPARSER和DBMS_XSLPROCESSOR,它们包含了处理XML的函数和过程,如生成XML、解析XML、执行XSLT转换等。 9. **安全性和权限**...
SELECT column_value FROM XMLTable('/root/element' PASSING xmltype('<root><element>Value1</element><element>Value2</element></root>') COLUMNS value VARCHAR2(50) PATH '.'); ``` 4. **XSLT ...
XML文档的结构清晰,便于机器解析和人阅读,这使得它成为跨平台、跨应用间交换数据的理想选择。 ### 8.1.2 XML与HTML的区别 与HTML相比,XML专注于数据的描述,而非页面的展示。HTML提供预定义的标签来呈现网页...
《XMLparse.rar》可能包含解析XML的工具或教程;最后,《jquery》可能是jQuery库的源代码或者相关教程。 综合这些资源,我们可以学习如何将这些技术整合在一起,构建一个完整的前后端交互系统,比如利用jQuery和...
文件"PLSQL解析XML.ppt"很可能包含了更详细的教程或示例,讲解了如何使用PL/SQL解析XML文档,可能包括XMLType的使用、DOM模型的操作以及XML数据的查询和更新方法。通过学习这个文件,你可以深入理解PL/SQL与XML的...
4. **xml库**:处理XML数据,如`<x:parse>`解析XML,`<x:out>`输出XML内容,`<x:transform>`进行XSLT转换。 5. **function库**:提供自定义函数,可以扩展JSTL的功能。 示例: ```jsp <%@ taglib prefix="c" uri=...
2. 使用解析器对象解析XML文件,得到DOM(文档对象模型)对象。 3. 遍历DOM对象,构建SQL插入语句,并执行插入操作。 以下是一个简单的示例代码片段: ```plsql DECLARE p xmlparser.parser; xmlfile VARCHAR2...
例如,你可以先使用SQL查询获取数据,然后通过XMLGen生成XML字符串,再利用XSLT进行转换,最后可能还需要XMLTable来解析XML以便进行进一步的分析和处理。通过熟练掌握这些工具和技术,你可以有效地管理和操作Oracle...
【描述】中的关键点提到了几个技术:JSP(JavaServer Pages)、JSON(JavaScript Object Notation)和AJAX(Asynchronous JavaScript and XML)。JSP是Java的一种动态网页技术,用于创建交互式的Web应用。在这个项目...
### PL/SQL Developer 7.0 用户指南关键知识点解析 #### 一、介绍 - **主要内容**:本书作为 PL/SQL Developer 7.0 的用户指南,提供了详细的使用方法和技巧,适合各种级别的用户。 - **适用人群**:无论是初学者...
### PL/SQL Developer 7.0 用户指南:深入解析与应用 #### 一、引言 PL/SQL(Procedural Language for SQL)是Oracle公司为增强SQL功能而设计的一种过程化语言,它将SQL语句与传统的过程化语言结构相结合,提供了...
- **注释解析**:支持解析并跳过注释内容。 ##### 7.11 保存 SQL 脚本 - **脚本保存**:可以将 SQL 语句保存为脚本文件。 - **脚本重用**:便于以后重复使用或共享脚本。 ##### 7.12 创建标准查询 - **查询模板**...
6. **处理结果**:根据Web服务的响应,可能需要解析XML或JSON格式的数据,这可能涉及使用Oracle的XML处理函数,如`XMLTYPE`和`XMLTABLE`。 文件列表中的"readme.txt"可能是详细的操作指南,"WEB-INF"目录通常包含...
- 数据库语言如TSQL、PLSQL、XML等 - JSP和J2EE应用程序 - 第三方IDE插件和集成工具 该工具通过对源代码的语义分析,包括全局数据流分析、控制流分析、配置分析和结构分析来识别软件代码中的安全漏洞。 **Fortify-...
### PL/SQL汉化插件和使用说明:深入解析与应用指南 #### 一、PL/SQL Developer 7.0 概览 **PL/SQL Developer**是一款专为Oracle数据库设计的强大开发工具,旨在简化PL/SQL代码的编写、调试和优化过程。版本7.0在...
- 处理响应,例如,解析返回的XML或JSON数据。 "PRO_WEBSERVICE_TEST.prc"可能是这样的PL/SQL过程的源代码,你可以查看并学习其调用Web Service的具体实现。 3. **测试和调试**:"过程.JPG"和"结果.JPG"可能展示...
Oracle提供了一种方法,通过生成XML文件来实现这一目标,因为Excel能够很好地解析XML数据并展示为表格。本文将深入探讨如何使用PL/SQL生成XML格式的Excel内容,并结合提供的"UTL_Excel.plb"包体和"Excel包头说明和...
### PL/SQL Developer 7.0 用户指南关键知识点解析 #### 一、介绍 **PL/SQL Developer** 是一款专为 Oracle 数据库设计的强大集成开发环境(IDE),它旨在简化和提高 PL/SQL 应用程序的开发效率。此版本(7.0)提供...
UTL_HTTP.WRITE_TEXT(l_http_request, '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ...>'); -- 发送请求并接收响应 l_http_response := UTL_HTTP.GET_RESPONSE(l_...