JAVA Dom4J解析XML文件写入MySql

JAVA Dom4J解析XML文件写入MySql(尽量减少人工化)

JAVA解析XML文件写入MySql(尽量减少人工化文件按照日期顺序)

你好! 这是第一次使用
用dom4j这个JAVA插件来使用,去官网下载即可,把Jar包导入到项目。

在这里插入图片描述
主要是根据时间的格式来读取XML文档,dateFormat转换格式为200612。
在这里插入图片描述 循环查询的几种情况,根据需要来选择,我是根据元素名来查询的在这里插入图片描述
在这里插入图片描述
建立数据库连接,把查询数据写入数据库,我还是个小白所以写的不是怎么好,仅供参考。最好用这个values这个,以免中文问题报错。附代码:


import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Demo {
	 public static void main(String[] args) throws Exception {
		 	SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");//可以方便地修改日期格式
		 	Date getDate = new Date();
		 	String hehe = dateFormat.format( getDate ); 
		 	System.out.println(hehe);
            SAXReader reader = new SAXReader();
	        Document document = reader.read(new File("src/main/java/source/"+hehe+"YSRB1.xml"));
	        Element root = document.getRootElement();
	        Iterator it = root.elementIterator();
	        int rows = 0;
	        int row = 0;
	        String sql = "";
	       while (it.hasNext()) {
	            Element element = (Element) it.next();
	            //未知属性名称情况下
	            /*Iterator attrIt = element.attributeIterator();
	            while (attrIt.hasNext()) {
	                Attribute a  = (Attribute) attrIt.next();
	                System.out.println(a.getValue());
	            }*/
	            //已知属性名称情况下
	            //System.out.println("id: " + element.attributeValue("id"));
	            //未知元素名情况下
	            /*Iterator eleIt = element.elementIterator();
	            while (eleIt.hasNext()) {
	                Element e = (Element) eleIt.next();
	                System.out.println(e.getName() + ": " + e.getText());
	            }
	            System.out.println();*/         
	            //已知元素名情况下
	            System.out.println("zbmc: " + element.elementText("zbmc"));
	            System.out.println("rjhcs: " + element.elementText("rjhcs"));
	            System.out.println("rjhds: " + element.elementText("rjhds"));
	            System.out.println("rwccs: " + element.elementText("rwccs"));
	            System.out.println("rwcds: " + element.elementText("rwcds"));
	            System.out.println("rykcs: " + element.elementText("rykcs"));
	            System.out.println("rykds: " + element.elementText("rykds"));
	            System.out.println("yjh: " + element.elementText("yjh"));
	            System.out.println("rjhcsl: " + element.elementText("rjhcsl"));
	            System.out.println("rjhdsl: " + element.elementText("rjhdsl"));
	            System.out.println("rwccsl: " + element.elementText("rwccsl"));
	            System.out.println("rwcdsl: " + element.elementText("rwcdsl"));
	            System.out.println("lykcs: " + element.elementText("lykcs"));
	            System.out.println("lykds: " + element.elementText("lykds"));
	            System.out.println("xh: " + element.elementText("xh"));
	            System.out.println();
	 
	            String url = "jdbc:mysql://localhost/login";
				String user = "root";
				String password = "root";
			
				String driver = "com.mysql.jdbc.Driver";
				Class.forName(driver);
				Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/login?useUnicode=true&characterEncoding=UTF-8", "root", "root");
				PreparedStatement pstmt = conn.prepareStatement(sql) ;
//				rows = pstmt.executeUpdate("insert into laogang set rjhcs="+ element.elementText("rjhcs")+
//						",rjhds="+element.elementText("rjhds")+",rwccs="+element.elementText("rwccs")+",rwcds="+element.elementText("rwcds")+
//						",rykcs="+ element.elementText("rykcs")+",rykds="+element.elementText("rykds")+",yjh="+element.elementText("yjh")+
//						",rjhcsl="+element.elementText("rjhcsl")+",rjhdsl="+element.elementText("rjhdsl")+",rwccsl="+element.elementText("rwccsl")+
//						",rwcdsl="+element.elementText("rwcdsl")+",lykcs="+element.elementText("lykcs")+",lykds="+element.elementText("lykds")+
//						",xh="+element.elementText("xh")+",zbmc="+element.elementText("zbmc"));
//				
				row = pstmt.executeUpdate("INSERT INTO laogang(zbmc,rjhcs,rjhds,rwccs,rwcds,rykcs,rykds,yjh,rjhcsl,rjhdsl,rwccsl,rwcdsl,lykcs,lykds,xh)"
						+ " values('"+element.elementText("zbmc")+"','"+element.elementText("rjhcs")+"','"+element.elementText("rjhds")+"','"+element.elementText("rwccs")+"','"+element.elementText("rwcds")+"','"+element.elementText("rykcs")+"','"+element.elementText("rykds")+"','"+element.elementText("yjh")+"','"+element.elementText("rjhcsl")+"','"+element.elementText("rjhdsl")+"','"+element.elementText("rwccsl")+"','"+element.elementText("rwcdsl")+"','"+element.elementText("lykcs")+"','"+element.elementText("lykds")+"','"+element.elementText("xh")+"')");
	        }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值