JAVA學習之 將xml匯入到資料庫

來源:互聯網
上載者:User

標籤: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匯入到資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.