• 读取xml文件内容到数据库


    前言

        前言不搭后语··················

    内容

        听某个大牛说他们的公司常常会涉及到从xml文件中读数据到写入到数据库,序列化的时候会遇到这这个问题,将要持久化的数据到xml文件存储起来,为了方便数据的传输。看了xml的读取还是很有意思的。在DRP中,我勇哥讲到从xml文件中读节点值写入到数据库中。下面是这个小demo,小的学业不精,见到块块代码需得及时收集。

    • 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>

    • 用到的jar包


    • 后台读取数据并写入数据库代码

    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);
    	Document doc = new SAXReader().read(new File("C:/Users/zhou/Workspaces/MyEclipse 10/test_xmlImport/xml/test01.XML"));
    	List itemList = doc.selectNodes("/ACCESOS/item/SOCIO");
    	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");
    		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);
    		}
    		pstmt.setString(1, numero);
    		pstmt.setString(2, reposicion);
    		pstmt.setString(3, nombre);
    		pstmt.setString(4, sbString.toString());
    		pstmt.addBatch();
    	}
    	pstmt.executeBatch();
    	System.out.println("将XML导入数据库成功!");
    } catch (Exception e) {
    	e.printStackTrace();
    } finally {
    	DbUtil.close(pstmt);
    	DbUtil.close(conn);
    }

    小结

        菜鸟还需努力,go~~~


    感谢您的宝贵时间···

  • 相关阅读:
    关于jsp页面是放在webroot目录下和web-inf下优缺点
    eclipse查看jar包中class的中文注释乱码问题的解决
    如何在eclipse里使用git
    ****JFinal 部署在 Tomcat 下推荐方法
    jfinal框架教程-学习笔记(二)
    Struts2 标签库讲解
    struts2 标签库 介绍
    VC无闪烁刷屏技术的实现【转】
    小知识:SPI四种模式区别【转】
    如何在Android 或Linux 下,做Suspend /Resume 的Debug【转】
  • 原文地址:https://www.cnblogs.com/zhoulitong/p/6412304.html
Copyright © 2020-2023  润新知