我正在尝试将 XML 文件插入 SQL Server 数据库,但仍然不知道下面的代码有什么问题。
我的 XML 节点名称是:作者、标题、流派、价格、发布日期、描述。
通过获取上述节点名称,我想在我的数据库表中创建列,以便我可以将节点值插入到列中。
我的 XML 文件如下所示:
<?xml version="1.0"?>
<Results>
<Row>
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</Row>
<Row>
<author>Corets, Eva</author>
<title>Maeve Ascendant</title>
<genre>Fantasy</genre>
<price>5.95</price>
.
.
.
.
.
</Row>
</Results>
要插入数据库的 Java 代码:
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
Connection con = DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433;user=joy\studentsdatabaseName=EMPLOYEEintegratedSecurity=t rue;");
Statement st=con.createStatement();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("d:/books.xml");
NodeList n1= doc.getElementsByTagName("Row");
for(int i=0;i<n1.getLength();i++){
String st1= n1.item(i).getFirstChild().getNodeValue();
System.out.println(st1); // i dont know why it doesnt print anything ?
st.executeUpdate("insert into checktbl(sub)values('"+st1+"')");
}
}
catch(Exception e){
e.printStackTrace();
}