標籤:des style blog http io os ar java for
我們知道向資料庫中插入數將xml匯入到資料庫將xml匯入到資料庫據的方式有很多種,以前接觸最多的都是通過sql語句簡單的插入一條資料,今天要學習是將xml中的資料一次添加到資料庫中:
首先要寫一個xml檔案:
<?xml version="1.0" encoding="utf-8"?><ACCESOS> <item> <SOCIO> <NUMERO>00045050</NUMERO> <REPOSICION>0</REPOSICION> <NOMBRE>MOISES MORENO</NOMBRE> <TURNOS> <LU>T1</LU> <MA>T2</MA> <MI>T3</MI> <JU>T4</JU> <VI>T5</VI> <SA>T6</SA> <DO>T7</DO> </TURNOS> </SOCIO> </item> <item> <SOCIO> <NUMERO>00045051</NUMERO> <REPOSICION>0</REPOSICION> <NOMBRE>RUTH PENA</NOMBRE> <TURNOS> <LU>S1</LU> <MA>S2</MA> <MI>S3</MI> <JU>S4</JU> <VI>S5</VI> <SA>S6</SA> <DO>S7</DO> </TURNOS> </SOCIO> </item></ACCESOS>
然後再寫讀取xml檔案的方法:把dom4j的jar包引入到WEB-INFO下的lib下,並添加引用:
import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;public static void main(String[] args){//插入資料的sql語句String sql="insert into T_XML(NUMERO, REPOSICION, NOMBRE, TURNOS) values (?, ?, ?, ?)";Connection conn=null;PreparedStatement pstmt=null;try{conn=DbUtil.getConnection();pstmt=conn.prepareStatement(sql);//讀取xml檔案Document doc=new SAXReader().read(new File("F:/J2EEmyself/DRP/test_xmlImport/xml/test01.XML"));//選擇xml檔案的節點List itemList=doc.selectNodes("ACCESOS/item/SOCIO");//遍曆讀出的xml中的節點 for(Iterator iter=itemList.iterator();iter.hasNext();){ Element el=(Element)iter.next(); //讀取節點內容 String numero=el.elementText("NUMERO"); String reposicion = el.elementText("REPOSICION");String nombre = el.elementText("NOMBRE");//遍曆TURNOS節點中的內容List turnosList = el.elements("TURNOS");StringBuffer sbString=new StringBuffer();for(Iterator iter1=turnosList.iterator();iter1.hasNext();){Element turnosElt=(Element)iter1.next();String lu = turnosElt.elementText("LU");String ma = turnosElt.elementText("MA");String mi = turnosElt.elementText("MI");String ju = turnosElt.elementText("JU");String vi = turnosElt.elementText("VI");String sa = turnosElt.elementText("SA");String doo = turnosElt.elementText("DO");sbString.append(lu + "," + ma + "," + mi + "," + ju + "," + vi + "," + sa + "," + doo);}//為sql語句賦值pstmt.setString(1, numero);pstmt.setString(2, reposicion);pstmt.setString(3, nombre);pstmt.setString(4, sbString.toString());pstmt.addBatch(); } pstmt.executeBatch(); System.out.print("將XML匯入資料庫成功");}catch(Exception e){e.printStackTrace();}finally{DbUtil.close(pstmt);DbUtil.close(conn);}}
這樣很簡單就可以把xml檔案中的資料讀取到資料庫中:資料庫中的結果:
其實把xml中的資料讀取到資料庫中很簡單,只要迴圈遍曆每一個節點中的資料就可以。
JAVA學習之 將xml匯入到資料庫