是将每个xml块转为单条数据库记录吗?如果是这样,我可以给个例子。
具体步骤:
1.取得xml文件。
2.解析xml,构造bean
3.写入数据库。

解决方案 »

  1.   

    附件应该是以文件的形式收到的 收到的时候解析它并存入数据库 好象oarcle没有直接的办法将XML入库吧
      

  2.   

    有几种方法:
    1.XML文档存储为BLOB类型的文本.
    2.将XML存储为JAVA DOM对象
    3.将XML文档映射成关系数据库的表以下是说明第一种方法:
    package com.bflink.writexml;import java.sql.*;
    import java.io.*;/**
     * <p>Title: </p>
     * <p>Description:这个类显示如何将XML文档存储为BLOB类型的文本,
     * 实际上,这个列的SQL类型是LONG VARCHAR
     * </p>
     * @jack
     * @version 1.0
     */public class SaveXMLToDb {
      public static void main(String[] args) {
        try {
          Class.forName("com.cloudscape.core.JDBCDriver").newInstance();
        }
        catch (Throwable ex) {
          System.out.println(ex.getMessage());
        }
              try {
            Connection conn = DriverManager.getConnection(
                "jdbc:cloudscape.GAMETRADER");
            conn.setAutoCommit(false);
            Statement s=conn.createStatement();
            //创建一个表
            s.executeUpdate("CREATE TABLE MANUALS(GAMEID INT,MANUAL LONG VARCHAR)");
            conn.commit();
            
            File file = new File("manuals.xml");//打开并读取XML文档
            try {
              InputStream is = new FileInputStream(file);
              PreparedStatement ps = conn.prepareStatement("INSERT INTO MANUALS VALUES(?,?)");
              ps.setInt(1,1285757);
              
              //设置MANUAL字段的值
              ps.setAsciiStream(1,is,(int)file.length());
              ps.execute();
              conn.commit();
              // 以下关闭连接,statement略....
              
            }
            catch (FileNotFoundException ex2) {
              ex2.printStackTrace();
            }
            
          }
          catch (SQLException ex1) {
            ex1.printStackTrace();
          }
          
        }
        
      }