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")+"')");
}
}
}