XML ファイルを SQL サーバー データベースに挿入しようとしていますが、以下のコードの何が問題なのかまだわかりません。
私の XML ノード名は、author、title、genre、price、publish_date、description です。
上記のノード名を取得することで、ノード値を列に挿入できるように、データベース テーブルに列を作成したいと考えています。
私の 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();
}