下面是小弟用DOM4J写的一个数据到处功能,已经可以导出数据库数据以及数据结构到XML文档,先欲求一导入方法,请大侠们赐教....联系方式:   QQ群:22309797    email:  [email protected]   [email protected] 
 
   /**
     * 导出数据库数据以及数据结构到XML文档
     * @param conn       Connection
     * @param dbname     String
     * @param filePath   String
     * @param fileName   String
     * @return
     */
public boolean dBDataToXmlData(Connection conn, String dbname, String filePath, String fileName){
 XMLWriter writer = null;
 DatabaseMetaData dmd = null;
 ResultSet tbrs = null,rs = null;
 ResultSetMetaData rmd = null;
 PreparedStatement ps = null;
 //建立XML文档的根root
         try{
 if(conn == null){
 System.out.println("错误: 没有可用的数据库连接!");
 return false;
 }
 
 Document document = DocumentHelper.createDocument();//建立document对象   
 
             //1---@dbname [ROOT元素代表数据库名---->创建文档dbname元素,dbname元素名即为ROOT元素]
             SimpleDateFormat sy1=new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss");
             Element em_dbname = document.addElement("database");
             em_dbname.addAttribute("dbname",dbname); //给dbname节点添加一个属性
             //加入一行注释
             em_dbname.addComment("the xml document file created in "
                             +sy1.format(new Date())+
                           " powered by jsf开源组织,QQ交流群:22309797 email:[email protected]");
             
             //2---@dbname/tablename
             dmd = conn.getMetaData();
 tbrs = dmd.getTables(null,null,null,null); //查找出数据库中所有表的名称,包括系统表和用户表
         while(tbrs.next()){//@循环取出数据库中所有表名
          String tbname = tbrs.getString("TABLE_NAME");
          Element em_tbname = em_dbname.addElement("table");
             em_tbname.addAttribute("tbname",tbname);//给tablename节点添加一个属性
             
             String sqlInstruction="SELECT * FROM "+tbname;
             ps = conn.prepareStatement(sqlInstruction,
                                       ResultSet.TYPE_SCROLL_SENSITIVE, 
                                             ResultSet.CONCUR_UPDATABLE);
             rs = ps.executeQuery();
             rmd = rs.getMetaData();  //获取元数据,如属性名等
             int colcount = rmd.getColumnCount();       //获取属性列的个数
             int count = 0;
             while(rs.next()){
                     //3---@dbname/tablename/row
              Element em_tbrow = em_tbname.addElement("row");
               em_tbrow.addAttribute("rownum",(count+1)+""); //给rownum节点添加一个属性
               //4---@dbname/tablename/row/column
               for(int i=1;i<=colcount;i++){
               Element em_tbcolumn = em_tbrow.addElement("column");
             em_tbcolumn.addAttribute("colname",rmd.getColumnName(i).toString()); //给colname节点添加一个属性
             String value = rs.getString(i); 
             if(value == null)  
             value="";
             em_tbcolumn.addText(value);
               }
               count++;
             }
         }
      OutputFormat format = OutputFormat.createPrettyPrint(); //格式化输出
      format.setEncoding("GBK"); //指定XML编码
      writer= new XMLWriter(new FileWriter(new File(fileName)),format); 
      writer.write(document);  //将document中的内容写入文件中
             return true; //执行成功,需返回1
 }catch(Exception e){
 System.out.println(e.getMessage());
 }finally{
 try{
 tbrs.close();        tbrs= null;
 rs.close();          rs= null;
 ps.close();          ps= null;
 dmd = null;
 rmd = null;
 conn.close();        conn= null;
 writer.close();      writer= null;
 }catch(Exception e){}
 }
 return false;
}