使用XSU在数据库中存储和检索XML
2007-06-21 12:33:13 来源:WEB开发网核心提示: <Oracle10g>/jdbc/lib/ojdbc14.jar<Oracle10g>/LIB/servlet.jar<Oracle10g>/jdbc/lib/classes12dms.jar在这篇文章中我将使用catalog.xml的XML文档作为例子
<Oracle10g>/jdbc/lib/ojdbc14.jar
<Oracle10g>/LIB/servlet.jar
<Oracle10g>/jdbc/lib/classes12dms.jar
在这篇文章中我将使用catalog.xml的XML文档作为例子,如Listing 1所示。
你需要创建一个数据库表,该表的每一列将对应示例XML文档中每个元素标签和属性。你可以使用下面的SQL脚本来创建一个包含合适列的、名为JOURNAL的数据库表:
CREATE TABLE OE.JOURNAL (
JOURNAL_TITLE VARCHAR(255),
PUBLISHER VARCHAR(255),
EDITION VARCHAR(255),
ARTICLE_SECTION VARCHAR(255),
TITLE VARCHAR(255),
AUTHOR VARCHAR(255)
);
XML文档到SQL数据库的映射
如果你使用XSU直接来存储Listing 1的XML文档,只有XML文档中的元素标签会被存储。但是你可以保存XML文档中的属性,首先将这些属性转换成元素,然后保存经过转换的XML文档、而不是原始的文档。通过对原始的文档应用XSLT stylesheet,你可以将这些属性转换成元素。
你可以使用OracleXMLSave类将XML文档保存在数据库中。下面是具体的步骤。首先,导入OracleXMLSave类:
importoracle.xml.sql.dml.OracleXMLSave;
接着,创建数据库连接:
DriverManager.registerDriver(new
oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@<host>:<port>:<SID>,"
"<user>,""<password>");
前面的代码中有几个占位符,用尖括号隔开,你必须使用你自己的具体信息来替换它们:
更多精彩
赞助商链接