Oracle Jdeveloper 上传XML文件到动态数据表中
2012-03-10 22:01
337 查看
一、创建所需数据
CREATE TABLE "TEST" ( "ID" NUMBER NOT NULL ENABLE, "NAME" VARCHAR2(50 BYTE) NOT NULL ENABLE, "AGE" NUMBER NOT NULL ENABLE, "DEPT" VARCHAR2(50 BYTE) NOT NULL ENABLE, CONSTRAINT "TEST_PK" PRIMARY KEY ("ID") ENABLE )
要导入到数据库中的XML文件
<?xml version="1.0" encoding="UTF-8" ?> <list> <persons> <id>001</id> <name>张三</name> <age>34</age> <dept>销售部</dept> </persons> <persons> <id>002</id> <name>李四</name> <age>25</age> <dept>销售部</dept> </persons> <persons> <id>003</id> <name>小明</name> <age>30</age> <dept>销售部</dept> </persons> </list>
二、新建fusion web application-->ImpXML
基于test表建立VO对象 由于我们这里是要导入数据到表中,所以这个VO对象初始应该是没有数据的,因此需要在query中设置where 1==0 查询条件,使初始行集为空。如下图:
三、新建jspx页-->test.jspx
拖动Input File、Panel Collection控件到页面上,拖动TestView1数据控件到Panel Collection控件里面。现在你的test.jspx看起来应该是这样
四、编写后台bean响应Inpu File控件的ValueChangeListener
这个bean主要由两个函数组成。public void getFile(ValueChangeEvent valueChangeEvent)
这个函数通过调用第二个函数
private void parseFile(InputStream file)
对xml文件进行解析后,对TestView1中的行集进行赋值。
这两个函数需要注意以下几点:
1、IOUtils.copy(file.getInputStream(), writer, "UTF-8")
这句要注意后面的编码方式要与XML文件的编码方式相对应,否则,解析出来的有可能是乱码。
2、JXDocumentBuilderFactory factory =
(JXDocumentBuilderFactory)JXDocumentBuilderFactory.newInstance
("oracle.xml.jaxp.JXDocumentBuilderFactory", ClassLoader.getSystemClassLoader());
由于我们主要利用oracle.xml.parser.v2、oracle.xml.jaxp两个库对XML文件进行解析,在这一步建立XML factory的时候,
由于在weblogic lib中也有这样的方法,为了避免冲突,可以采用全限定名称oracle.xml.jaxp.JXDocumentBuilderFactory,
或在weblogic.xml文件中指定库调用优先级的方式限定使用oracle库。这里采用的第一种方式。
3、赋值的时候要注意列名的大小写
五、设置控件属性
设置table控件的PartialTriggers为InputFile控件,Input File控件AutoSubmit属性为true运行test.jspx,当我们选定xml文件后,它应该自动出现在下面的表里。如下图:
示例源代码下载
ImpXML.zip
相关文章推荐
- JS使用ajax从xml文件动态获取数据显示的方法
- 在Oracle表数据和xml文件间相互导入导出
- 修改Android中strings.xml文件, 动态改变数据
- 修改Android中strings.xml文件, 动态改变数据
- 修改Android中strings.xml文件, 动态改变数据
- 修改Android中strings.xml文件, 动态改变数据
- xml数据文件上传至数据库
- 修改Android中strings.xml文件, 动态改变数据
- JS使用ajax从xml文件动态获取数据显示的方法
- 修改Android中strings.xml文件, 动态改变数据
- 在Oracle表数据和xml文件间相互导入导出的PL/SQL 过程
- 修改Android中strings.xml文件, 动态改变数据
- 数据层使用Server对象;动态生成控件多文件上传
- Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
- 从数据库得到数据导出指定格式的xml文件,上传到NC接口,返回回执到本地一个xml文件
- php的curl,uploadfile上传文件,xml解析,邮件发送,动态时间,去重,等
- 解决 在Oracle表数据和xml文件间相互导入导出的PL/SQL 过程
- ORACLE表数据转换成XML文件
- 从XML文件中读取数据到treeview及动态设置其样式
- Oracle EBS R12 - 如何通过命令上传XML/BI Publisher数据定义文件和模板文件