以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML 与 数据库 』  (http://bbs.xml.org.cn/list.asp?boardid=17)
----  [求助]怎样把XML导入Access数据库??  (http://bbs.xml.org.cn/dispbbs.asp?boardid=17&rootid=&id=28013)


--  作者:cwjmx
--  发布时间:3/2/2006 10:38:00 AM

--  [求助]怎样把XML导入Access数据库??
怎样把XML导入Access数据库??我想要导入,能否给我个实例,让我去研究研究
email:prmxcwj@163.com qq:51782212
--  作者:lunarcy
--  发布时间:5/12/2006 11:05:00 PM

--  
求解决方案!
--  作者:丹枫2006
--  发布时间:8/15/2006 6:04:00 PM

--  
偶也想知道,再顶~~~~~
--  作者:goodyu
--  发布时间:8/19/2006 10:26:00 AM

--  
我也想看看这方面的实例.
--  作者:344596099
--  发布时间:8/20/2006 10:34:00 PM

--  
呵呵 俺也想知道
--  作者:02492064
--  发布时间:10/12/2006 1:26:00 PM

--  
很想知道
--  作者:xuwenwu
--  发布时间:1/15/2007 11:56:00 AM

--  
我也想知道 ,谁有啊 谢谢了!
--  作者:niweiliang
--  发布时间:3/13/2007 11:06:00 AM

--  
我也想知道 高手指教下
--  作者:skybinyu
--  发布时间:5/27/2007 4:42:00 PM

--  
哪位大哥给小弟提供怎样把xml中的数据插入Access数据库
--  作者:qiwenqiang
--  发布时间:5/29/2007 7:37:00 PM

--  
mport javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;

public class aa {
public static void main(String[] args) {
try {
//创建解析工厂
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
//指定DocumentBuilder
DocumentBuilder builder = dbfactory.newDocumentBuilder();
//从文件构造一个Document,因为XML文件中已经指定了编码,所以这里不必了
Document doc = builder.parse(new File("aa.xml"));
//得到Document的根(节点名:book)
Element root = doc.getDocumentElement();
System.out.println("根节点标记名:" + root.getTagName());

System.out.println("*****下面遍历XML元素*****");
//获得page元素
NodeList list = root.getElementsByTagName("page");
//遍历page元素
for (int i=0; i < list.getLength() ; i++) {
//获得page的元素
Element element = (Element)list.item(i);
//获得ID属性
String id = element.getAttribute("id");
//获得title属性
NodeList titleList = element.getElementsByTagName("title");
//获得title元素
Element titleElement = (Element)titleList.item(0);
//获得title元素的第一个值
String title = titleElement.getFirstChild().getNodeValue();
//获得file元素名称
NodeList fileList = element.getElementsByTagName("file");
//获得file元素
Element fileElement = (Element)fileList.item(0);
//获得file元素的第一个值
String file = fileElement.getFirstChild().getNodeValue();


--  作者:qiwenqiang
--  发布时间:5/29/2007 7:41:00 PM

--  
先按照上面的方法解析出XML的各结点,然后连接数据库 用INSETR语句就可以了
--  作者:skybinyu
--  发布时间:6/2/2007 10:42:00 AM

--  
多谢10楼的~!
最近又遇到新问题啦!求大侠帮忙啊!
程序能运行,就是数据库里没东西,只有NULL!(对了是SQL2000的)。还有能直接把数据存到SQL中,但是提取XML中的数据就存上就为空。
下面是我的程序,请大家指点:
package shujuku;


import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;


import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;


public class Cshuju extends Object{

        public static  String str_id;
        public  static String str_number;
        public static String str_name;
        public  static String str_age;     
    

    public Cshuju() {
    }
    
   public void conn() throws JDOMException{
       
     SAXBuilder builder = new SAXBuilder();
        Document read_doc = null;
        try {
            read_doc = builder.build("stu.xml");
        } catch (JDOMException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        }

        Element stu1 = read_doc.getRootElement();

        List list = stu1.getChildren("students");

        for(int i = 0;i < list.size();i++) {

            Element e = (Element)list.get(i);
             int str_id = 2;

            String str_number = e.getChildText("number");

            String str_name = e.getChildText("name");

            String str_age = e.getChildText("age");

            System.out.println("---------STUDENT--------------");

            System.out.println("NUMBER:" + str_number);

            System.out.println("NAME:" + str_name);

            System.out.println("AGE:" + str_age);

            System.out.println("------------------------------");

            System.out.println();

        }      
       
}

public static void main(String args[])throws Exception{
    
    new Stu().conn();
    
        try {
            
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
        } catch (InstantiationException ex) {
            ex.printStackTrace();
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        } catch (IllegalAccessException ex) {
            ex.printStackTrace();
        }
        
        String url ="jdbc:microsoft:sqlserver://localhost:1433;databaseName=students;";
        
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(url, "sa", "");
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        
       
        Statement statement = null;
        try {
            statement = conn.createStatement();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }

  
        String sqlTxt = "insert into stu1 "+"(id,number, name, age) "+ "values

('"+str_id+"','"+str_number+"', '"+str_name+"', '"+str_age+"')";
        
        int results = statement.executeUpdate(sqlTxt);
        
    
        System.out.print("XML 数据输入完毕!");
        
    }
    
       
  }


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
375.000ms