xml文档:
<?xml version="1.0" encoding="UTF-8"?>
<address>
<addressBook>
<bookid>a01</bookid>
<bookname>Digital</bookname>
</addressBook>
</address>现在oracle中建表。
java代码:
package address;import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;public class AddressBook { public static void main(String[] args) {
try{
String bookid;
String bookname;
String sql;
String url="jdbc:oracle:thin:@localhost:1521:myoracle";
String usename="tom";
String password="tom";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection(url,usename,password);
Statement st=con.createStatement();
File ff=new File("addr_book.xml");
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
Document doc=db.parse(ff);
NodeList nl=doc.getElementsByTagName("address");
for(int i=0;i<nl.getLength();i++){
Element element=(Element)nl.item(i);
bookid=element.getElementsByTagName("bookid").item(0).getFirstChild().getNodeValue();
bookname=element.getElementsByTagName("bookname").item(0).getFirstChild().getNodeValue();
sql="insert into addr_book values('"+bookid+"','"+bookname+"')";
st.executeUpdate(sql);
}
System.out.println("已完成");
st.close();
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<address>
<addressBook>
<bookid>a01</bookid>
<bookname>Digital</bookname>
</addressBook>
</address>现在oracle中建表。
java代码:
package address;import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;public class AddressBook { public static void main(String[] args) {
try{
String bookid;
String bookname;
String sql;
String url="jdbc:oracle:thin:@localhost:1521:myoracle";
String usename="tom";
String password="tom";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection(url,usename,password);
Statement st=con.createStatement();
File ff=new File("addr_book.xml");
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
Document doc=db.parse(ff);
NodeList nl=doc.getElementsByTagName("address");
for(int i=0;i<nl.getLength();i++){
Element element=(Element)nl.item(i);
bookid=element.getElementsByTagName("bookid").item(0).getFirstChild().getNodeValue();
bookname=element.getElementsByTagName("bookname").item(0).getFirstChild().getNodeValue();
sql="insert into addr_book values('"+bookid+"','"+bookname+"')";
st.executeUpdate(sql);
}
System.out.println("已完成");
st.close();
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
解决方案 »
- SQLSERVER字段内容为NULL引用实体转换为空
- Solaris下的Tomcat问题
- 在这个程序中为什么str1的值总是null
- javascrip的声明方式?
- 请大家聊聊web services以及java分布式开发的好项目、好点子
- Jasperreport + iReport 做报表时,怎么在一张表装两个列表?
- 用j2ee开发erp建议
- 高分求一命令,来者有分!
- 请看看为什么CachedRowSet更新时提示acceptChanges 失败!
- #求大神!#从数据库取值以数组传回action进行数学公式计算
- 周4 东软 来招人,要会jsp,servlet,struts,前面还好,struts不会,问问大家,假如我周1晚开始学,周1,2,3,这3天学struct,看什么书好
- Tomcat+hibernate的问题
public void xmlsave(String op_id,String xml_data) {
//定义数据库连接类
try {
Connection conn = getConnection(); // 建立连接
OracleXMLSave sav = new OracleXMLSave(conn, "temp_dd_cs03");
//URL url = sav.createURL(xml_data);
sav.insertXML(xml_data);
System.out.println("OUTPUT IS :\n"+sav);
sav.close();
}
catch (SQLException ex) {
System.out.println(ex.toString());
} }
为什么不把文档存到一个列中去,要用的时候取出来再解析成dom,你有多少字段都搞得定,还不受字段增删得限制