我使用的是Mysql关键在解析xml,插入数据根据自己情况做.
准备工作:将你的数据放到xml,修改我下面代码的路径
查看图片结果.
本例子是采用dom4j操作xml的,需要把dom4j jar包导入,如果没有向我要.
1 创建表:
CREATE TABLE `t_data` (
`id` int(11) DEFAULT NULL,
`name` varchar(30) DEFAULT NULL,
`address` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2. 代码:
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class InsertData {
/**
* @功能 读取xml
* @author hzh 372613221@qq.com
* @return
*/
public void analyNews() {
try {
// 创建文件对象
File file = new File("c:\\data.xml");
SAXReader reader = new SAXReader();
// 读取文件
Document document = reader.read(file);
// Element root = document.getRootElement();
// 获取root节点下所有的new节点
List list = document.selectNodes("Data/table");
Iterator iter = list.iterator();
while (iter.hasNext()) {
NewData newBean = new NewData();
Element ownerElement = (Element) iter.next();
// 获取table节点下id节点的值
newBean.setId(Integer.parseInt(ownerElement.elementText("id")));
// 获取table节点下name节点的值
newBean.setName(ownerElement.elementText("name"));
// 获取table节点下address节点的值
newBean.setAddress(ownerElement.elementText("address"));
//插入表
addData(newBean);
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
/**
*
* 传统方法 得到连接对象
*/
public Connection getConn(){
Connection conn=null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8","root","123456");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public void addData(NewData data) {
try {
StringBuffer sql = new StringBuffer();
sql.append("insert into t_data (id,NAME,address) values(");
sql.append(data.getId()+",'");
sql.append(data.getName()+"','");
sql.append(data.getAddress()+"')");
getConn().prepareStatement(sql.toString()).execute();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new InsertData().analyNews();
}
class NewData{
private int id;
private String name;
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
}
帮助IT软件人士解决问题...更多知道加QQ:372613221帮你解答 加好友请备注来历 祝你好运
保存在Java对象中,这是必须的,不然你解析它也就没有意义了。
希望对你有启发
利用dom4j即可简单,可自学,多读读api就行