以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 XML 与 数据库 』  (http://bbs.xml.org.cn/list.asp?boardid=17)
----  关系数据库到XML的转换问题讨论  (http://bbs.xml.org.cn/dispbbs.asp?boardid=17&rootid=&id=32832)


--  作者:airlabor
--  发布时间:5/22/2006 11:27:00 AM

--  关系数据库到XML的转换问题讨论
我现在对这个方向比较感兴趣,准备做一些研究,下面我陈述一些我的观点,不知道成熟不成熟,希望得到大家的指正!
1采用Java开发
2使用JDBC与数据库相连
3利用Java中的JDOM类处理XML
这三项技术不知道是否是解决这个问题的最为成熟的技术,望指正!



--  作者:sqlhub
--  发布时间:5/22/2006 12:59:00 PM

--  
SQLHUB也是使用了java和jdbc驱动,xml处理使用了dom4j
http://www.hgsql.com

--  作者:chafer0516
--  发布时间:5/22/2006 2:37:00 PM

--  
要是不用JAVA怎么办呢?
--  作者:chafer0516
--  发布时间:5/22/2006 2:38:00 PM

--  
我是说,比如用.NET,C#

--  作者:airlabor
--  发布时间:5/22/2006 2:43:00 PM

--  
我从网站上看到了很多关于JDOM、DOM以及SAX只见比较的文章,应该可以这样说,JDOM is better than DOM and SAX,我是这样认为的,对吗?请指点
--  作者:csrene
--  发布时间:5/22/2006 6:30:00 PM

--  又来推销了~
以下是引用sqlhub在2006-5-22 12:59:00的发言:
SQLHUB也是使用了java和jdbc驱动,xml处理使用了dom4j
http://www.hgsql.com



这位兄弟,灌水不是这样灌的吧!
--  作者:sqlhub
--  发布时间:5/22/2006 7:01:00 PM

--  
我感觉dom4j不错,使用也挺简单的,推荐使用

--  作者:sundowner
--  发布时间:7/24/2006 5:08:00 PM

--  
收到!3Q!
--  作者:Prentice2000
--  发布时间:8/19/2006 10:31:00 PM

--  
小弟写了一个程序,Java+JDOM将SQL Server中的数据查询结果转化为XML形式,数据库查询结果的一个元组的属性转变为XML的格式,代码如下:
import org.jdom.*;
import org.jdom.output.*;
import java.sql.*;
import java.io.*;

public class GenerateXMLView {
    
    /** Creates a new instance of GenerateXMLView */
    public GenerateXMLView() {
    }
    public static void main(String[] args) throws Exception {
        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
        String url ="jdbc:microsoft:sqlserver://localhost:1433;databaseName=Collage;selectMethod=cursor;";
        Connection conn = DriverManager.getConnection(url, "SA", "");
        PreparedStatement pstmt = conn.prepareStatement(
                "select Student.Sno,Student.Sname,Course.Cno,Course.Cname,SC.Grade from Student,Course,SC where SC.Sno=Student.Sno and SC.Cno=Course.Cno order by Student.Sno",
                ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
        ResultSet rs = pstmt.executeQuery();
        ResultSetMetaData rmd = rs.getMetaData();
        Document document = new Document(new Element("ResultSet")); //创建文档ROOT元素
        int colcount = rmd.getColumnCount();
        while (rs.next()) {
            Element RowElement = new Element("ROW");
            
            for (int i = 1; i <= colcount; i++) {
                Element TempElement=new Element(rmd.getColumnName(i).toString());
                TempElement.setText(rs.getString(i));
                RowElement.addContent(TempElement);
            }
            document.getRootElement().addContent(RowElement);
        }
        rs.close();
        pstmt.close();
        conn.close();
        XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat()); //格式华输出,产生缩进和换行
        
        Format format = outp.getFormat();
        format.setEncoding("GB2312"); //设置语言
        format.setExpandEmptyElements(true); //设置输出空元素为<sample></sample>格式
        outp.setFormat(format);
        
        outp.output(document, new FileOutputStream("ResultSet.xml")); //输出XML文档
        System.out.print("XML 文档生成完毕!");
    }
}
我写的这个程序在NetBeans上运行成功,注:运行的时候不要忘记添加SQL Server 2000的JDBC驱动程序


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