读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();
}
}

}

































































































































































需要提供jDom.jar包,Oracal的jdbc包