以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XML工具及XML开发环境 』  (http://bbs.xml.org.cn/list.asp?boardid=7)
----  将xml解析之后如何存入到sql server数据库  (http://bbs.xml.org.cn/dispbbs.asp?boardid=7&rootid=&id=60670)


--  作者:yjy811205
--  发布时间:3/31/2008 3:43:00 PM

--  将xml解析之后如何存入到sql server数据库
请问如何将xml文件解析,然后存入到sql server数据库中呢?谢谢各位了
--  作者:fangel2000
--  发布时间:4/4/2008 10:41:00 PM

--  
貌似很多人都在做这个啊,我刚刚搞好了这个部分
先注册驱动:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
然后建立与数据库的连接:
String url = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName = fdb";
String user = "sa";
String password = "";
Connection conn = DriverManager.getConnection(url,user,password);
Statement stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,    ResultSet.CONCUR_UPDATABLE);
然后根据你解析后的内容,在数据库里建立一个表,表的各个字段就是你解析出来的XML字段
然后一句insert,一句executeUpdate就可以了
后面的代码自己上网找去
--  作者:yjy811205
--  发布时间:4/7/2008 3:17:00 PM

--  
连库那部分我也知道啦,关系是不知道往库里存储的时候是怎么实现的,如果用insert的话,是一条一条去插吗?那样是不是很浪费时间啊?
--  作者:fangel2000
--  发布时间:4/8/2008 3:42:00 PM

--  
不是啊,你可以用DOM或者SAX解析技术解析出各个字段的值啊,将它保存到几个变量中去。
然后用类似于下面的代码执行插入操作:
String sql = "insert into SalesList (title, category, pubDate, link, description) values('"+ title +"', '"+ category +"', '"+ pubDate +"', '"+ link +"', '"+ description +"')" ;
stmt.executeUpdate(sql) ;

(title, category, pubDate, link, description) 这里的值title等是表中建立的字段名
('"+ title +"', '"+ category +"', '"+ pubDate +"', '"+ link +"', '"+ description +"')这些值title等是存储的变量。


--  作者:yjy811205
--  发布时间:4/9/2008 8:53:00 AM

--  
可是这样也有一个问题啊,如果通过这种方式,对每一个xml文档都得专门写代码,而我想要的是通过编写一个程序,可以解析的是任意的xml文档啊
--  作者:fangel2000
--  发布时间:4/9/2008 11:07:00 AM

--  
这样的通用程序能写出来么?不同XML文档的标签各异,因此相应数据库表中的字段也都不可能通用的啊
我觉得这个貌似行不通的
还是请楼下的高手来解答吧
--  作者:yjy811205
--  发布时间:4/13/2008 10:43:00 AM

--  
再请教楼上一个问题啊,我现在用java可以实现这个功能,但是在用网页形式(jsp)实现时,为什么xml文件的路径只能是绝对路径呢?
--  作者:jiqing_gao
--  发布时间:4/16/2008 11:17:00 AM

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