首页 > 学院 > 开发设计 > 正文

读取xml文件内容到数据库

2019-11-14 09:46:59
字体:
来源:转载
供稿:网友

前言

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

内容

    听某个大牛说他们的公司常常会涉及到从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~~~

感谢您的宝贵时间···


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表