读XML并且写入到Oracal库中
/**/
/*
*创建日期:2006-8-4 17:57:21
*创建作者:李长有
*/
package lcy.jdom;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
/** */ /**
*
* 插入数据库之前,最好先删除记录,以免重复插入
*
*/
public class XmlInfor ... {
// Xml的节点信息from_view_id,nacase_from_outcome,nacase_to_view_id
private String from_view_id;
private String nacase_from_outcome;
private String nacase_to_view_id;
public String getNacase_from_outcome() ...{
return nacase_from_outcome;
}
public void setNacase_from_outcome(String nacase_from_outcome) ...{
this.nacase_from_outcome = nacase_from_outcome;
}
public String getNacase_to_view_id() ...{
return nacase_to_view_id;
}
public void setNacase_to_view_id(String nacase_to_view_id) ...{
this.nacase_to_view_id = nacase_to_view_id;
}
public String getFrom_view_id() ...{
return from_view_id;
}
public void setFrom_view_id(String from_view_id) ...{
this.from_view_id = from_view_id;
}
// 循环读入读XML信息
public void LoadXML(String path) throws Exception ...{
// 准备插入Oracle数据库中
String driver = "oracle.jdbc.driver.OracleDriver";
Class.forName(driver);
String url = "jdbc:oracle:thin:@172.16.10.200:1521:test2";// ????
Connection con = DriverManager.getConnection(url, "system", "abc");// 2
// 开始读制定路径的XML文件
FileInputStream fi = null;
try ...{
fi = new FileInputStream(path);
// 利用SAX方式读
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
// 得到根元素
Element root = doc.getRootElement();
// 得到根元素所有子元素的集合
List navigation_rules = root.getChildren();
Element navigation_rule = null;
Element navigation_case = null;
XmlInfor xml = null;
for (int i = 0; i < navigation_rules.size(); i++) ...{
// 每循环读入一条记录,就插入到数据库中
xml = new XmlInfor();
navigation_rule = (Element) navigation_rules.get(i);
xml.setFrom_view_id(navigation_rule.getChild("from-view-id")
.getText());
List navigation_cases = navigation_rule
.getChildren("navigation-case");
for (int j = 0; j < navigation_cases.size(); j++) ...{
navigation_case = (Element) navigation_cases.get(j);
xml.setNacase_from_outcome(navigation_case.getChild(
"from-outcome").getText());
xml.setNacase_to_view_id(navigation_case.getChild(
"to-view-id").getText());
String qry = "INSERT INTO LIUCHENG1(wjlx,bz,xm,tj)"
+ " VALUES" + " ('" + "fangjia" + "'" + " , '"
+ xml.getFrom_view_id().substring(1, 2) + "', "
+ " '" + xml.getNacase_from_outcome() + "'" + ", "
+ "'" + xml.getNacase_to_view_id().substring(1, 2)
+ "')";
Statement stmt = con.createStatement();
stmt.executeUpdate(qry);
stmt.close();
System.out.println("一条信息插入数据库成功");
}
}
} catch (Exception e) ...{
System.err.println(e + "error");
} finally ...{
try ...{
fi.close();
con.close();
} catch (Exception e) ...{
e.printStackTrace();
}
}
}
public static void main(String[] ars) ...{
try ...{
String path = "D:/faces-config1.xml";
XmlInfor xml = new XmlInfor();
xml.LoadXML(path);
} catch (Exception ea) ...{
ea.printStackTrace();
}
}
}
*创建日期:2006-8-4 17:57:21
*创建作者:李长有
*/
package lcy.jdom;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
/** */ /**
*
* 插入数据库之前,最好先删除记录,以免重复插入
*
*/
public class XmlInfor ... {
// Xml的节点信息from_view_id,nacase_from_outcome,nacase_to_view_id
private String from_view_id;
private String nacase_from_outcome;
private String nacase_to_view_id;
public String getNacase_from_outcome() ...{
return nacase_from_outcome;
}
public void setNacase_from_outcome(String nacase_from_outcome) ...{
this.nacase_from_outcome = nacase_from_outcome;
}
public String getNacase_to_view_id() ...{
return nacase_to_view_id;
}
public void setNacase_to_view_id(String nacase_to_view_id) ...{
this.nacase_to_view_id = nacase_to_view_id;
}
public String getFrom_view_id() ...{
return from_view_id;
}
public void setFrom_view_id(String from_view_id) ...{
this.from_view_id = from_view_id;
}
// 循环读入读XML信息
public void LoadXML(String path) throws Exception ...{
// 准备插入Oracle数据库中
String driver = "oracle.jdbc.driver.OracleDriver";
Class.forName(driver);
String url = "jdbc:oracle:thin:@172.16.10.200:1521:test2";// ????
Connection con = DriverManager.getConnection(url, "system", "abc");// 2
// 开始读制定路径的XML文件
FileInputStream fi = null;
try ...{
fi = new FileInputStream(path);
// 利用SAX方式读
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
// 得到根元素
Element root = doc.getRootElement();
// 得到根元素所有子元素的集合
List navigation_rules = root.getChildren();
Element navigation_rule = null;
Element navigation_case = null;
XmlInfor xml = null;
for (int i = 0; i < navigation_rules.size(); i++) ...{
// 每循环读入一条记录,就插入到数据库中
xml = new XmlInfor();
navigation_rule = (Element) navigation_rules.get(i);
xml.setFrom_view_id(navigation_rule.getChild("from-view-id")
.getText());
List navigation_cases = navigation_rule
.getChildren("navigation-case");
for (int j = 0; j < navigation_cases.size(); j++) ...{
navigation_case = (Element) navigation_cases.get(j);
xml.setNacase_from_outcome(navigation_case.getChild(
"from-outcome").getText());
xml.setNacase_to_view_id(navigation_case.getChild(
"to-view-id").getText());
String qry = "INSERT INTO LIUCHENG1(wjlx,bz,xm,tj)"
+ " VALUES" + " ('" + "fangjia" + "'" + " , '"
+ xml.getFrom_view_id().substring(1, 2) + "', "
+ " '" + xml.getNacase_from_outcome() + "'" + ", "
+ "'" + xml.getNacase_to_view_id().substring(1, 2)
+ "')";
Statement stmt = con.createStatement();
stmt.executeUpdate(qry);
stmt.close();
System.out.println("一条信息插入数据库成功");
}
}
} catch (Exception e) ...{
System.err.println(e + "error");
} finally ...{
try ...{
fi.close();
con.close();
} catch (Exception e) ...{
e.printStackTrace();
}
}
}
public static void main(String[] ars) ...{
try ...{
String path = "D:/faces-config1.xml";
XmlInfor xml = new XmlInfor();
xml.LoadXML(path);
} catch (Exception ea) ...{
ea.printStackTrace();
}
}
}
需要提供jDom.jar包,Oracal的jdbc包