保存xml数据到数据库的程序实现

来源:互联网 发布:openstack 源码下载 编辑:程序博客网 时间:2024/06/11 20:02

 

保存xml数据到数据库的程序实现                     ---天楠  2005-11-24          数据库是现在使用非常普及的数据存储工具。由于技术的成熟,对于新兴的XML技术我们如果和数据库结合起来的话将使我们的使用范围更广,同时我们也能从中受益。下面是怎样从把XML文档里的数据读到数据库中,这里在ACCESS数据库建立表XMLTODB表。字段如下(都为文本型,其他形式也可以但在写SQL语句时修改一下就可):  表1:数据库XMLTOD表设计    ID学号姓名性别年龄电话备注自动编号学生编号学生姓名性别学生年龄电话学习层次       数据库中建立好表后,我们编写把XML文档数据转换到数据库中的程序。在这个程序中用到了SQL技术和JDBC技术,当然JDOM接口技术不可缺少。其实现程序如下:         import java.io.*;     import java.sql.*;     import org.jdom.*;     import org.jdom.input.*;    import org.jdom.input.SAXBuilder.*;          import java.io.*;     import java.sql.*;     import org.jdom.*;     import org.jdom.input.*;    import org.jdom.input.SAXBuilder.*;          public class xmltodb {         public static void main(String args[]) throws Exception{          SAXBuilder sb = new SAXBuilder();            Document doc = sb.build(new FileInputStream(" ChangedXML.xml"));         Element root = doc.getRootElement(); //取根元素               int i=0; i=root.getContentSize();          int i=0; i=root.getContentSize();          java.util.List students = root.getChildren();         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");               //建立数据库连           Connection con= DriverManager.getConnection ("jdbc:odbc:Demo");        Statement stmt=con.createStatement();           for(int j=0;j<i;j++){               //得到第j个student元素              Element student = (Element) students.get(j);                  Element id = student.getChild("ID"); //得到指定的子元素
            String id1=id.getText();               Element xuehao = student.getChild("学号");             String xuehao1=xuehao.getText();              Element xingming = student.getChild("姓名");             String xingming1=xingming.getText();              Element xingbie= student.getChild("性");             String xingbie1=xingbie.getText();               Element age = student.getChild("年");              String age1=age.getText();               Element phone = student.getChild("电话");             String phone1=phone.getText();               Element beizhu = student.getChild("注");              String beizhu1=beizhu.getText();             System.out.println("学号是"+xuehao1+"的XML文档ChangedXML.xml中的数据被入数据XMLTODB表中");          String                    sql="insert into XMLTODB values('"+id1+"      ','"+xuehao1+"','"+xingming1+"','"+xingbie1+"','"+age1+"','"+phone1+"','"+beizhu1+"')";           stmt.executeUpdate(sql);         }            stmt.close(); con.close();        }      }      
原创粉丝点击