免费预览已结束,剩余3页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
获取xml信息并写入MySql数据库的一个小例子【声明:以下内容是本人一个字一个字敲的,如请转载,请标明转载。如有疑问请发送邮件至或添加我的msn我的msn:您也可以在百度知道加dir_murong为好友。大家互相学习共同进步。】目标,从一个source file schema.xml上获取一些信息,写入MySql数据库,并查询。Setp1 建立工程,至少需要两个jar包dom4j-1.6.1.jar和mysql-connector-java-5.1.5-bin.jar和一个xml文件schema.xmlStep2假设schema.xml的内容如下Step3读取xml文件的内容我们使用dom4j-1.6.1.jar,连接mysql数据库我们使用mysql-connector-java-5.1.5-bin.jar。而最主要的程序,其结构如下:私有静态字符串FILE_NAME其值为:xml/schema.xml;getElementList(Element,ArrayList,ArrayList)方法主要作用是获取一系列xml文件节点的方法,并将相应数据写入ArrayList;getRootElement(Document)的主要作用的获取根结点;insert(ArrayList,ArrayList)的主要作用是向mysql数据库插入刚刚从xml文件里获得的数据;query()方法的作用是从mysql数据库查询对应的表;read(String)方法主要是用来读取一个Document对象。主要程序的源代码如下【不长,只有140行】:package Tony;import java.io.File;import .MalformedURLException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import java.util.ArrayList;import java.util.Iterator;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class dom4j private static String FILE_NAME = xml/schema.xml;public static void main(String srgs )ArrayList sName = new ArrayList(10);ArrayList sType = new ArrayList(10);/读取文件dom4j d =new dom4j();try String root;/返回Document对象d.read(FILE_NAME);root=d.getRootElement(d.read(FILE_NAME).getName();/获取根结点名称System.out.println(root Node is:+root);/获取元素列表d.getElementList(d.getRootElement(d.read(FILE_NAME),sName,sType);/插入数据d.insert(sName, sType);/查询数据d.query(); catch (MalformedURLException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (DocumentException e) / TODO Auto-generated catch blocke.printStackTrace();/读取文件public Document read(String fileName) throws MalformedURLException, DocumentException SAXReader reader = new SAXReader();Document document = reader.read(new File(fileName);return document;/获取根结点public Element getRootElement(Document doc)return doc.getRootElement();/遍历获取子节点public void getElementList(Element root,ArrayList sName,ArrayList sType) System.out.println(namettt+typet);Iterator i = root.elementIterator();Element e = (Element)i.next();for(i = root.elementIterator(); i.hasNext(); ) Element element = (Element)i.next();System.out.print(element.attributeValue(name)+tt);System.out.print(element.attributeValue(type)+n);sName.add(element.attributeValue(name);sType.add(element.attributeValue(type); /把属性值写入ArrayList并打印System.out.println(*);for(int j=0;jsName.size();j+)System.out.println(sName.get(j)+tt+sType.get(j);public void insert(ArrayList a,ArrayList b)Connection con;Statement sql;try Class.forName(com.mysql.jdbc.Driver); catch(ClassNotFoundException ex) System.out.println(+ex); try con = DriverManager.getConnection(jdbc:mysql:/localhost:3306/xmltest,root,sa); sql = con.createStatement(); /插入数据 for(int i=0;ia.size();i+) sql.execute(insert into xmltest.test values +(+i+,+a.get(i)+,+b.get(i)+); System.out.println(Insert data done!); sql.close(); con.close(); catch (Exception e) System.out.println(+e);public void query() Connection con;Statement sql;ResultSet rs;try Class.forName(com.mysql.jdbc.Driver); catch(ClassNotFoundException e) System.out.println(+e); try con = DriverManager.getConnection(jdbc:mysql:/localhost:3306/xmltest,root,sa); sql = con.createStatement(); rs = sql.executeQuery(select * + from test ); while(rs.next() String name = rs.getString(2); String type = rs.getString(3); System.out.println(name+tt+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【项目方案】6MW24MW储能项目方案
- 2025 小学六年级语文上册综合性学习诗歌分类课件
- 居家养老陪护协议2025版
- 浙江省宁波市鄞州区2025年九年级上学期数学期末试卷附答案
- 永州事业编面试题及答案
- 时代银行面试题及答案
- 深度解析(2026)《GBT 35150.5-2024新型干法水泥生产成套装备技术要求 第5部分:除尘系统》(2026年)深度解析
- 深度解析(2026)《GBT 34428.4-2017高速公路监控设施通信规程 第4部分 气象检测器》
- 深度解析(2026)《GBT 34247.1-2017深度解析(2026)《异丁烯-异戊二烯橡胶(IIR)不饱和度的测定 第1部分:碘量法》》
- 深度解析(2026)《GBT 34145-2017中文语音合成互联网服务接口规范》
- 2025-2026学年统编版二年级语文上册期末质量检测卷(含答案)
- 2025年德州乐陵市市属国有企业公开招聘工作人员(6人)参考笔试题库及答案解析
- 医防融合视角下家庭医生签约慢病管理策略
- 中职历史期末考试及答案
- 从指南看慢性乙型病毒性肝炎的防治策略
- 江苏省扬州市江都区2025-2026学年八年级第一学期第二次月考语文答案
- 2026年辽宁装备制造职业技术学院单招职业技能测试题库带答案详解
- 2025中原农业保险股份有限公司招聘67人笔试备考重点试题及答案解析
- 贵州兴义电力发展有限公司2026年校园招聘备考题库及1套完整答案详解
- 2025中原农业保险股份有限公司招聘67人备考考试试题及答案解析
- 2026年及未来5年市场数据中国电磁兼容测试市场竞争格局及投资战略规划报告
评论
0/150
提交评论