




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java中xml文件的处理及oracle中xmltype的插入和读取:总体结构:1.ORACLE中创建表:/ 创建的表CREATE TABLE resumes2 (employee_id NUMBER(6) PRIMARY KEY,resume XMLType)XMLType COLUMN resumeSTORE AS CLOB;CREATE DIRECTORY XMLDIR AS C:; /设置xml目录2.创建xml文件类WriteXML.java:package jdom;import java.io.*;import java.util.List;import org.jdom.*;import org.jdom.input.*;import org.jdom.output.*;import org.jdom.xpath.*;public class WriteXML public void BuildXML() throws Exception Element root, student, number, name, age;root = new Element(student-info); /生成根元素:student-info/生成元素:student(number,name,age)student = new Element(student);number = new Element(number);name = new Element(name);age = new Element(age);Document doc = new Document(root); /将根元素植入文档doc中/给元素赋值number.setText(001);name.setText(lnman);age.setText(24);/形成树student.addContent(number);student.addContent(name);student.addContent(age);root.addContent(student);/设置格式并生成xml文件Format format = Format.getCompactFormat();format.setEncoding(gb2312); /设置xml文件的字符为gb2312format.setIndent( ); /设置xml文件的缩进为4个空格XMLOutputter XMLOut = new XMLOutputter(format);/元素后换行一层元素缩四格XMLOut.output(doc, new FileOutputStream(studentinfo.xml);public static void main(String args) throws Exception /测试main函数WriteXML w = new WriteXML();System.out.println(Now we build an XML document .);w.BuildXML();System.out.println(finished!);3.读取xml中节点数据类ReadXML.java:package jdom;import org.jdom.output.*;import org.jdom.input.*;import org.jdom.*;import java.io.*;import java.util.*;public class ReadXML public static void main(String args) throws Exception / 实例化SAXBuilder对象,利用该对象可直接对XML文档进行解析SAXBuilder builder = new SAXBuilder();/ 利用SAXBuilder对象对XML文档进行解析,并取出解析以后的document文档对象Document read_doc = builder.build(studentinfo.xml);Element stu = read_doc.getRootElement(); /取出文档的根元素/以下为对文档的各个节点循环进行操作并显示List list = stu.getChildren(student);for (int i = 0; i list.size(); i+) Element e = (Element) list.get(i);String str_number = e.getChildText(number);String str_name = e.getChildText(name);String str_age = e.getChildText(age);/输出xml文件中的信息System.out.println(NUMBER: + str_number);System.out.println(NAME: + str_name);System.out.println(AGE: + str_age);4.读取和修改xml中节点数据类TestJDOM.java;package text.jdom;import org.jdom.*;import org.jdom.output.*;import org.jdom.input.*;import java.io.*;public class TestJDOM public static void main(String args) throws Exception SAXBuilder sb = new SAXBuilder();/从文件构造一个Document,因为XML文件中已经指定了编码,所以这里不必了Document doc = sb.build(new FileInputStream(exampleA.xml);/加入一条处理指令ProcessingInstruction pi = new ProcessingInstruction(xml-stylesheet, href=bookList.html.xsl type=text/xsl);doc.addContent(pi);Element root = doc.getRootElement(); /得到根元素java.util.List books = root.getChildren(); /得到根元素所有子元素的集合Element book = (Element) books.get(0); /得到第一个book元素/为第一本书添加一条属性Attribute a = new Attribute(hot, true);book.setAttribute(a);Element author = book.getChild(author); /得到指定的字元素author.setText(王五); /将作者改为王五/或 Text t = new Text(王五);book.addContent(t);Element price = book.getChild(price); /得到指定的字元素/修改价格,比较郁闷的是我们必须自己转换数据类型,而这正是JAXB的优势price.setText(Float.toString(50.0f);String indent = ;boolean newLines = true;XMLOutputter outp = new XMLOutputter();outp.output(doc, new FileOutputStream(exampleA.xml);5.xml文件oracle数据插入和读取类Oracle.java;package jdbc;import javax.swing.*;import java.sql.*;import java.io.*;import java.util.*;/xml文件oracle数据插入和读取public class Oracle void getConnection() / 数据库连接函数与SQL操作代码try Class.forName(oracle.jdbc.driver.OracleDriver); catch (Exception ex) System.out.print(加载失败!);try / 与oracle数据库建立连接String username = system;String password = 123456;String url = jdbc:oracle:thin:127.0.0.1:1521:orcl;Connection con = DriverManager.getConnection(url, username,password);if (!con.isClosed() System.out.print(连接成功!n);Statement stmt = con.createStatement();/ 插入xml文件/ String SQL2=Insert into resumes2 values/ (1,XMLType(bfilename(XMLDIR,test.xml),nls_charset_id(AL16UTF8);/ stmt.executeUpdate(SQL2);/ 读取xml文件中字段数据,其中使用XPATH语言String SQL = select employee_id,i.resume.extract(/student-info/student/number/text().getStringVal(),i.resume.extract(/student-info/student/name/text().getStringVal(),i.resume.extract(/student-info/student/age/text().getStringVal() from resumes2 i;ResultSet rs = stmt.executeQuery(SQL);while (rs.next() System.out.println(xml文件字段内容如下:);System.out.println(id: + rs.getString(1);System.out.println(number: + rs.getString(2);System.out.println(name: + rs.getString(3);System.out.println(age: + rs.getString(4);con.close(); / 关闭数据库连接 else System.out.print(连接失败!); catch (SQLException ex) System.out.print(ex.ge
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 液温考试试题及答案
- 莆田哲理考试题及答案
- 机车制动试题及答案
- 校园安全知识培训课件图片
- 神经阻滞考试题及答案
- 安永税务面试题及答案
- 高一语文期末考试题及答案
- 押运员实体考试试题及答案
- 票据试题及答案答案
- 工程造价面试题及答案
- 山东省第二届化学分析检验人员行业职业技能竞赛理论试题库资料(含答案)
- 人教版数学一年级(上册)知识点全
- 孕产妇健康管理服务规范
- AQ 1097-2014 井工煤矿安全设施设计编制导则(正式版)
- NBT 47013.13-2015 承压设备无损检测 第13部分:脉冲涡流检测
- 2024年三亚市海棠区营商环境建设局一级科员招录1人《行政职业能力测验》高频考点、难点(含详细答案)
- 2024-2030年中国培南类抗菌药物行业市场运行态势及发展战略研究报告
- 知识题库-人社练兵比武竞赛测试题及答案(七)
- JJG 326-2021 转速标准装置
- 剑桥新PET作文模板
- 陆上石油天然气开采安全管理人员复习题
评论
0/150
提交评论