解析XML文件示例
项目中要解析Xml文件,于是在工程里找了下前人写例子。
1,SAX(基于事件,效率高,使用声明加载什么)。
public class MVCConfig {
private static MVCConfig config=new MVCConfig();
private MVCConfig(){}
public static MVCConfig getInstance(){
return config;
}
private Map<String, ActionDTO> actions=new HashMap<String, ActionDTO>();
private DataSourceDTO datasourceDto=null;
//解析xml文件的方法
public void parse(String path){
//1.产生一个解析器
Digester digester=new Digester();
//2.指出回调函数所属对象
digester.push(this);
//3.声明遇到XXX节点,就调用XXX回调方法
digester.addCallMethod("mvc-config/action-mapping/action", "doAction", 3);
digester.addCallParam("mvc-config/action-mapping/action", 0, "path");
digester.addCallParam("mvc-config/action-mapping/action", 1, "className");
digester.addCallParam("mvc-config/action-mapping/action", 2, "redirect");
digester.addCallMethod("mvc-config/dataSource", "doDataSource",5);
digester.addCallParam("mvc-config/dataSource/driver", 0);
digester.addCallParam("mvc-config/dataSource/url", 1);
digester.addCallParam("mvc-config/dataSource/username", 2);
digester.addCallParam("mvc-config/dataSource/password", 3);
digester.addCallParam("mvc-config/dataSource/maxActive", 4);
//4.真正开始解析
try {
digester.parse(new File(path));
} catch (IOException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
}
}
//回调方法(传过来的所有参数类型都是字符串)
public void doAction(String path,String className,String redirect){
//System.out.println(path+" "+className);
ActionDTO dto=new ActionDTO(path,className,Boolean.parseBoolean(redirect));
actions.put(path, dto);
}
public void doDataSource(String driver,String url,String username,String password,String maxActive){
//System.out.println(driver);
datasourceDto=new DataSourceDTO(driver,url,username,password,Integer.parseInt(maxActive));
}
//测试解析是否成功
public static void main(String[] args) {
MVCConfig.getInstance().parse("D:/mvc-config.xml");
}
public Map<String, ActionDTO> getActions() {
return actions;
}
public DataSourceDTO getDatasourDto() {
return datasourceDto;
}
}
2,DOM(基于文档/节点,一次加载所有,需要内存大)。项目里例子是零二年写的,代码现在看起来比较渣,先贴出来有时间了再整理整理
public class TjFileService extends ManagerParent {
public TjFileService()
{
}
private static final String errorPrefix =
ErrorCodeDefine.EXCEPTION_SYSTEM +
ErrorCodeDefine.MODULE_REGIST +
ErrorCodeDefine.CLASS_REGISTMANAGER; //出错代码前缀
private static final LogicException DB_ERROR =
new LogicExceptionParent(errorPrefix + "02","数据库出错");
public boolean importTjBasefile(String importfilename,String userName, String userId) throws IOException, LogicException, ParseException, SQLException {
Connection conn = null;
try{
String xmlPath=null;
try {
conn = getConnection(false);
} catch (SQLException e) {
e.printStackTrace();
}
SAXReader saxReader = new SAXReader();
Document document =null;
xmlPath=importfilename.replace('\\','/');
document=saxReader.read(new File(xmlPath));
Element root=document.getRootElement();
System.out.println("read ok ,nodes count="+root.elements().size());
List lsttable=root.elements();
// logger.debug("the tables number is "+lsttable.size());
if (! root.getName().equals("RcMarry"))
return false;
Iterator itr=lsttable.iterator();
SerialManageManager serialmanage;
SerialManageModel serialManageModel;
serialManageModel=new SerialManageModel();
AcceptOrganModel acceptOrganModel = new AcceptOrganModel();
int j=0;
while (itr.hasNext()){
Element tbelment=(Element)itr.next();
// logger.debug("the table "+tbname+ "'s elements count is"+tbelment.elements().size());
if (tbelment.elements().size()==0)
continue;
Iterator itrrec=tbelment.elementIterator();
Element Firstrec=(Element)tbelment.elements().get(0);
String[] cols = new String[Firstrec.attributeCount()];
int i=0;
for(i=0;i<Firstrec.attributeCount();i++){
Attribute attr=(Attribute)Firstrec.attributes().get(i);
cols[i]=attr.getName();
}
//开始读取XML文件
while(itrrec.hasNext())
{
Element recelement=(Element)itrrec.next();
final String colval[]=new String[cols.length];
final String colname[]=new String[cols.length];
// String certNum = getCertId(recelement
// .attribute("CERT_NO").getValue());
String certNum = "";
if (recelement.attribute("CERT_NO")==null)
certNum = "";
else
certNum = recelement
.attribute("CERT_NO").getValue();
String OldcertNum = "";
if (recelement.attribute("OLD_CERT_NO")==null)
OldcertNum = "";
else
OldcertNum = recelement
.attribute("OLD_CERT_NO").getValue();
//根据recelement 拼装 MarryAppModel
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String todate = "";
String op_type = recelement.attribute("OP_TYPE").getValue();
MarryAppModel marryAppModel = new MarryAppModel();
SerialManageDAO dao = new SerialManageDAO(conn);
marryAppModel.setAccpt_organ("000310999");
marryAppModel.setBespeak_no(null);
//登记人员信息
if(recelement.attribute("OPERATOR")==null || "".equals(recelement.attribute("OPERATOR").getValue())){
marryAppModel.setReg_person(null);
}else{
String operator=recelement.attribute("OPERATOR").getValue();
marryAppModel.setReg_person(operator);
TjFileDAO tjFileDAO=new TjFileDAO(conn);
marryAppModel.setReg_person_id(tjFileDAO.findOperatorId(operator));
}
//申请日期
if (recelement.attribute("OP_DATE")==null||"".equals(recelement.attribute("OP_DATE").getValue()))
marryAppModel.setApp_date(null);
else{
todate = recelement.attribute("OP_DATE").getValue();
marryAppModel.setApp_date(formatter.parse(todate));
}
marryAppModel.setStatus_id("000000003");
if (recelement.attribute("OP_DATE")==null||"".equals(recelement.attribute("OP_DATE").getValue()))
marryAppModel.setStatus_date(null);
else{
todate = recelement.attribute("OP_DATE").getValue();
marryAppModel.setStatus_date(formatter.parse(todate));
}
marryAppModel.setOppose_gist(null);
marryAppModel.setOppose_reason(null);
marryAppModel.setCancel_date(null);
if (recelement.attribute("CANCEL_PROOF")==null)
marryAppModel.setCancel_reason("");
else
marryAppModel.setCancel_reason(recelement.attribute("CANCEL_PROOF").getValue());
marryAppModel.setCancel_type_id(null);
//if (recelement.attribute("OP_DATE")==null||"".equals(recelement.attribute("OP_DATE").getValue()))
// marryAppModel.setModify_date(null);
//else{
// todate = recelement.attribute("OP_DATE").getValue();
marryAppModel.setModify_date(new Date(System.currentTimeMillis()));
//}
marryAppModel.setModify_person(null);
marryAppModel.setMemo(null);
marryAppModel.setArchives_num(null);
// marryAppModel.setReg_person(userName);
// marryAppModel.setReg_person_id(userId);
todate = recelement.attribute("OP_DATE").getValue();
marryAppModel.setDraw_date(formatter.parse(todate));
//根据recelement 拼装 MarryPersonModel
MarryPersonModel marryPersonModel = new MarryPersonModel();
//计算年龄,结婚和离婚根据OP_DATE来计算,如果是补证,根据OLD_OP_DATE来计算
int m_age ;
int f_age ;
if(op_type.equals("IA")||op_type.equals("IB")){
if (recelement.attribute("OP_DATE").getValue()!=null){
String op_date = recelement.attribute("OP_DATE").getValue();
if(recelement.attribute("BIRTH_MAN").getValue()!=null){
String birth_man = recelement.attribute("BIRTH_MAN").getValue();
m_age = Integer.valueOf(op_date.substring(0, 4)).intValue() - Integer.valueOf(birth_man.substring(0, 4)).intValue();
marryPersonModel.setM_age(m_age);
}
if(recelement.attribute("BIRTH_WOMAN").getValue()!=null){
String birth_woman = recelement.attribute("BIRTH_WOMAN").getValue();
f_age = Integer.valueOf(op_date.substring(0, 4)).intValue() - Integer.valueOf(birth_woman.substring(0, 4)).intValue();
marryPersonModel.setF_age(f_age);
}
}
}
else if(op_type.equals("ICA")||op_type.equals("ICB")){
if (recelement.attribute("OLD_OP_DATE").getValue()!=null){
String old_op_date = recelement.attribute("OLD_OP_DATE").getValue();
if(recelement.attribute("BIRTH_MAN").getValue()!=null){
String birth_man = recelement.attribute("BIRTH_MAN").getValue();
m_age = Integer.valueOf(old_op_date.substring(0, 4)).intValue() - Integer.valueOf(birth_man.substring(0, 4)).intValue();
marryPersonModel.setM_age(m_age);
}
if(recelement.attribute("BIRTH_WOMAN").getValue()!=null){
String birth_woman = recelement.attribute("BIRTH_WOMAN").getValue();
f_age = Integer.valueOf(old_op_date.substring(0, 4)).intValue() - Integer.valueOf(birth_woman.substring(0, 4)).intValue();
marryPersonModel.setF_age(f_age);
}
}
}
if (recelement.attribute("ID_TYPE_MAN")==null)
marryPersonModel.setM_apply_type(null);
else
marryPersonModel.setM_apply_type(getDic("fb2", recelement.attribute("ID_TYPE_MAN").getValue()));
if (recelement.attribute("ID_TYPE_WOMAN")==null)
marryPersonModel.setF_apply_type(null);
else
marryPersonModel.setF_apply_type(getDic("fb2", recelement.attribute("ID_TYPE_WOMAN").getValue()));
if (recelement.attribute("CERT_TYPE_MAN")==null)
marryPersonModel.setM_cert_type(null);
else
marryPersonModel.setM_cert_type(getDic("fb3", recelement.attribute("CERT_TYPE_MAN").getValue()));
if (recelement.attribute("CERT_TYPE_WOMAN")==null)
marryPersonModel.setF_cert_type(null);
else
marryPersonModel.setF_cert_type(getDic("fb3", recelement.attribute("CERT_TYPE_WOMAN").getValue()));
if (recelement.attribute("CERT_NUM_MAN")==null)
marryPersonModel.setM_cert_id(null);
else
marryPersonModel.setM_cert_id(recelement.attribute("CERT_NUM_MAN").getValue());
if (recelement.attribute("CERT_NUM_WOMAN")==null)
marryPersonModel.setF_cert_id(null);
else
marryPersonModel.setF_cert_id(recelement.attribute("CERT_NUM_WOMAN").getValue());
if (recelement.attribute("NAME_MAN")==null)
marryPersonModel.setM_name(null);
else
marryPersonModel.setM_name(recelement.attribute("NAME_MAN").getValue());
if (recelement.attribute("NAME_WOMAN")==null);
else
marryPersonModel.setF_name(recelement.attribute("NAME_WOMAN").getValue());
if (recelement.attribute("BIRTH_MAN")==null)
todate = "";
else{
todate = recelement.attribute("BIRTH_MAN").getValue();
marryPersonModel.setM_born_date(formatter.parse(todate));
}
if (recelement.attribute("BIRTH_WOMAN")==null)
todate = "";
else{
todate = recelement.attribute("BIRTH_WOMAN").getValue();
marryPersonModel.setF_born_date(formatter.parse(todate));
}
marryPersonModel.setM_nationality_id(getDic("fb4", recelement.attribute("NATION_MAN").getValue()));
marryPersonModel.setF_natinality_id(getDic("fb4", recelement.attribute("NATION_WOMAN").getValue()));
if (recelement.attribute("FOLK_MAN")==null)
marryPersonModel.setM_nation_id("");
else
marryPersonModel.setM_nation_id(getDic("fb5", recelement.attribute("FOLK_MAN").getValue()));
if (recelement.attribute("FOLK_WOMAN")==null)
marryPersonModel.setF_nation_id(null);
else
marryPersonModel.setF_nation_id(getDic("fb5", recelement.attribute("FOLK_WOMAN").getValue()));
if (recelement.attribute("DEGREE_MAN")==null)
marryPersonModel.setM_education_id("");
else
marryPersonModel.setM_education_id(getDic("fb7", recelement.attribute("DEGREE_MAN").getValue()));
if (recelement.attribute("DEGREE_WOMAN")==null)
marryPersonModel.setF_education_id(null);
else
marryPersonModel.setF_education_id(getDic("fb7", recelement.attribute("DEGREE_WOMAN").getValue()));
if (recelement.attribute("JOB_MAN")==null)
marryPersonModel.setM_vocation(null);
else
marryPersonModel.setM_vocation(getDic("fb6", recelement.attribute("JOB_MAN").getValue()));
if (recelement.attribute("JOB_WOMAN")==null)
marryPersonModel.setF_vocation(null);
else
marryPersonModel.setF_vocation(getDic("fb6", recelement.attribute("JOB_WOMAN").getValue()));
marryPersonModel.setM_address_type(null);
marryPersonModel.setF_address_type(null);
if (recelement.attribute("REG_QX_MAN")==null)
marryPersonModel.setM_address_area(null);
else
marryPersonModel.setM_address_area(getDic("fb9", recelement.attribute("REG_QX_MAN").getValue()));
if (recelement.attribute("REG_QX_WOMAN")==null)
marryPersonModel.setF_address_area(null);
else
marryPersonModel.setF_address_area(getDic("fb9", recelement.attribute("REG_QX_WOMAN").getValue()));
marryPersonModel.setM_neighborhood(null);
marryPersonModel.setF_neighborhood(null);
if(recelement.attribute("REG_DETAIL_MAN")==null)
marryPersonModel.setM_dwelling_place(null);
else
marryPersonModel.setM_dwelling_place(recelement.attribute("REG_DETAIL_MAN").getValue());
if(recelement.attribute("REG_DETAIL_WOMAN")==null)
marryPersonModel.setF_drellin_place(null);
else
marryPersonModel.setF_drellin_place(recelement.attribute("REG_DETAIL_WOMAN").getValue());
if(recelement.attribute("LINK_KIND_MAN")==null)
marryPersonModel.setM_contact_phone(null);
else
marryPersonModel.setM_contact_phone(recelement.attribute("LINK_KIND_MAN").getValue());
if (recelement.attribute("LINK_KIND_WOMAN")==null)
marryPersonModel.setF_contact_phon(null);
else
marryPersonModel.setF_contact_phon(recelement.attribute("LINK_KIND_WOMAN").getValue());
if(recelement.attribute("MARRY_STATUS_MAN")==null)
marryPersonModel.setM_marry_status(null);
else
marryPersonModel.setM_marry_status(getDic("fb8", recelement.attribute("MARRY_STATUS_MAN").getValue()));
if(recelement.attribute("MARRY_STATUS_WOMAN")==null)
marryPersonModel.setF_marry_status(null);
else
marryPersonModel.setF_marry_status(getDic("fb8", recelement.attribute("MARRY_STATUS_WOMAN").getValue()));
marryPersonModel.setM_divorce_reg_date(null);
marryPersonModel.setF_devioce_date(null);
marryPersonModel.setM_divorce_cert_no(null);
marryPersonModel.setF_devioce_cert(null);
if (recelement.attribute("CERT_PROOF_MAN")==null)
marryPersonModel.setM_zjzmclqk(null);
else
marryPersonModel.setM_zjzmclqk(recelement.attribute("CERT_PROOF_MAN").getValue());
if (recelement.attribute("CERT_PROOF_WOMAN")==null)
marryPersonModel.setF_zjzmclqk(null);
else
marryPersonModel.setF_zjzmclqk(recelement.attribute("CERT_PROOF_WOMAN").getValue());
if (recelement.attribute("PRINT_NUM_MAN")==null)
marryPersonModel.setM_paper_no(null);
else
marryPersonModel.setM_paper_no(recelement.attribute("PRINT_NUM_MAN").getValue());
if (recelement.attribute("PRINT_NUM_WOMAN")==null)
marryPersonModel.setF_paper_no(null);
else
marryPersonModel.setF_paper_no(recelement.attribute("PRINT_NUM_WOMAN").getValue());
if (recelement.attribute("REG_DETAIL_MAN")==null)
marryPersonModel.setM_hj_address(null);
else
marryPersonModel.setM_hj_address(recelement.attribute("REG_DETAIL_MAN").getValue());
if (recelement.attribute("REG_DETAIL_MAN")==null)
marryPersonModel.setF_hj_address(null);
else
marryPersonModel.setF_hj_address(recelement.attribute("REG_DETAIL_WOMAN").getValue());
marryPersonModel.setMemo(null);
//根据recelement 拼装 MarryProofModel
MarryProofModel marryProofModel = new MarryProofModel();
if (recelement.attribute("REDO_REASON")==null)
marryProofModel.setProof_reason(null);
else
marryProofModel.setProof_reason(getDic("fb11", recelement.attribute("REDO_REASON").getValue()));
if (recelement.attribute("OLD_DEPT_NAME")==null)
marryProofModel.setReg_organ("");
else
marryProofModel.setReg_organ(null);
if (recelement.attribute("OLD_CERT_NO")==null)
marryProofModel.setMarry_cert_no("");
else
marryProofModel.setMarry_cert_no(recelement.attribute("OLD_CERT_NO").getValue());
if (recelement.attribute("OLD_OP_DATE")==null|| "".equals(recelement.attribute("OLD_OP_DATE").getValue()))
marryProofModel.setMarry_date(null);
else{
todate = recelement.attribute("OLD_OP_DATE").getValue();
marryProofModel.setMarry_date(formatter.parse(todate));
}
if (recelement.attribute("OLD_OP_DATE")==null|| "".equals(recelement.attribute("OLD_OP_DATE").getValue()))
marryProofModel.setDraw_date(null);
else{
todate = recelement.attribute("OLD_OP_DATE").getValue();
marryProofModel.setDraw_date(formatter.parse(todate));
}
marryProofModel.setProof_no(null);
if (recelement.attribute("DELEGATE_FLAG")==null)
marryProofModel.setIf_proxy(null);
else
marryProofModel.setIf_proxy(recelement.attribute("DELEGATE_FLAG").getValue());
if (recelement.attribute("DELEGATED_NAME")==null)
marryProofModel.setProxy_name(null);
else
marryProofModel.setProxy_name(recelement.attribute("DELEGATED_NAME").getValue());
if (recelement.attribute("DELEGATED_CERT_NO")==null)
marryProofModel.setProxy_cert_id(null);
else
marryProofModel.setProxy_cert_id(recelement.attribute("DELEGATED_CERT_NO").getValue());
marryProofModel.setMemo(null);
if (recelement.attribute("APPLY_MAN")==null)
marryProofModel.setApplicant_gender(null);
else{
String str = recelement.attribute("APPLY_MAN").getValue();
if (str == "01"){
marryProofModel.setApplicant_gender("1");
}
else if(str == "10"){
marryProofModel.setApplicant_gender("2");
}
else{
marryProofModel.setApplicant_gender("3");
}
}
/**
*如果certNum证字号存在,对现有记录进行更新
*/
if(isExist(certNum)){
//"IA" 对应系统中的 app_case_type=000000011 涉外结婚申请, flow_id=000000001 结婚登记
if (op_type.equals("IA")){
serialManageModel.setSerial_type("000000005");
serialManageModel.setOrgan_id("000310999");
//得到appNO
marryAppModel.setApp_no(getAppNo(certNum));
marryAppModel.setApp_case_type("000000011");
marryAppModel.setFlow_id("000000001");
marryAppModel.setCert_no(certNum);
//转换证书字号
//证书字号为13位 沪外结2009001288 转换为 2009沪外结000002
// if (certNum.length()==13)
// marryAppModel.setCert_serial_no(certNum.substring(4,7)+certNum.substring(0, 4)+certNum.substring(7, 13));
// else
// //证书字号为14位 沪外补结2009001288 2009沪外补结000002
// marryAppModel.setCert_serial_no(certNum.substring(4,8)+certNum.substring(0, 4)+certNum.substring(8, 14));
//
marryAppModel.setCert_serial_no(certNum);
marryAppModel.setApprove_opnn("符合结婚条件,准予登记");
marryPersonModel.setApp_no(marryAppModel.getApp_no());
// 根据recelement 拼装 MarryRegModel
MarryRegModel marryRegModel = new MarryRegModel();
marryRegModel.setApp_no(marryAppModel.getApp_no());
marryRegModel.setCohabit_date(null);
marryRegModel.setIf_reproof(null);
if (recelement.attribute("RENEW_FLAG")==null)
marryRegModel.setIf_resume(null);
else
marryRegModel.setIf_resume(recelement.attribute("RENEW_FLAG").getValue());
marryRegModel.setMemo(null);
MarryRegDAO marryRegDAO = new MarryRegDAO(conn);
marryRegDAO.updateMarryReg(marryRegModel);
}
//"IB" 对应系统中的 app_case_type=000000012 涉外离婚申请, flow_id=000000002 离婚登记
else if(op_type.equals("IB")){
serialManageModel.setSerial_type("000000006");
serialManageModel.setOrgan_id("000310999");
serialManageModel = (SerialManageModel)dao.getSerialManage(serialManageModel);
dao.updateSerialManageSelfAdd(serialManageModel);
marryAppModel.setApp_no(SerialManageUtil.getOutRegistAppNo("000310999", serialManageModel));
marryAppModel.setApp_case_type("000000012");
marryAppModel.setFlow_id("000000002");
marryAppModel.setCert_no(certNum);
marryAppModel.setCert_serial_no(certNum);
// if (certNum.length()==13)
// marryAppModel.setCert_serial_no(certNum.substring(4,7)+certNum.substring(0, 4)+certNum.substring(7, 13));
// else
// marryAppModel.setCert_serial_no(certNum.substring(4,8)+certNum.substring(0, 4)+certNum.substring(8, 14));
marryAppModel.setApprove_opnn("符合离婚条件,准予登记");
marryPersonModel.setApp_no(marryAppModel.getApp_no());
//根据recelement 拼装 MarryDivorceRegModel
MarryDivorceRegModel marryDivorceRegModel = new MarryDivorceRegModel();
marryDivorceRegModel.setApp_no(marryAppModel.getApp_no());
marryDivorceRegModel.setDivorce_reason(getDic("fb10", recelement.attribute("DIVORCE_REASON").getValue()));
marryDivorceRegModel.setDivorce_type_id(null);
if (recelement.attribute("OLD_CERT_NO")==null)
marryDivorceRegModel.setMarry_cert_no(null);
else
marryDivorceRegModel.setMarry_cert_no(OldcertNum);
if (recelement.attribute("OLD_OP_DATE")==null|| "".equals(recelement.attribute("OLD_OP_DATE").getValue()))
marryDivorceRegModel.setMarry_date(null);
else{
todate = recelement.attribute("OLD_OP_DATE").getValue();
marryDivorceRegModel.setMarry_date(formatter.parse(todate));
}
if (recelement.attribute("OLD_DEPT_NAME")==null)
marryDivorceRegModel.setMarry_organ_id("");
else
marryDivorceRegModel.setMarry_organ_id(recelement.attribute("OLD_DEPT_NAME").getValue());
marryDivorceRegModel.setMemo(null);
MarryDivorceRegDAO marryDivorceRegDAO = new MarryDivorceRegDAO(conn);
marryDivorceRegDAO.updateMarryDivorceReg(marryDivorceRegModel);
}
//"ICA" 对应系统中的 app_case_type=000000013 涉外结婚补证, flow_id=000000003 结婚补证
else if(op_type.equals("ICA")){
serialManageModel.setSerial_type("000000007");
serialManageModel.setOrgan_id("000310999");
serialManageModel = (SerialManageModel)dao.getSerialManage(serialManageModel);
dao.updateSerialManageSelfAdd(serialManageModel);
marryAppModel.setApp_no(SerialManageUtil.getOutRegistAppNo("000310999", serialManageModel));
marryPersonModel.setApp_no(marryAppModel.getApp_no());
marryProofModel.setApp_no(marryAppModel.getApp_no());
marryAppModel.setApp_case_type("000000013");
marryAppModel.setFlow_id("000000003");
marryAppModel.setCert_no(certNum);
// if (certNum.length()==13)
// marryAppModel.setCert_serial_no(certNum.substring(4,7)+certNum.substring(0, 4)+certNum.substring(7, 13));
// else
// marryAppModel.setCert_serial_no(certNum.substring(4,8)+certNum.substring(0, 4)+certNum.substring(8, 14));
marryAppModel.setCert_serial_no(certNum);
marryAppModel.setApprove_opnn("符合补发条件,准予补发");
MarryProofDAO marryProofDAO = new MarryProofDAO(conn);
marryProofDAO.updateMarryProof(marryProofModel);
}
//"ICB" 对应系统中的 app_case_type=000000014 涉外离婚补证, flow_id=000000004 离婚补证
else{
serialManageModel.setSerial_type("000000008");
serialManageModel.setOrgan_id("000310999");
serialManageModel = (SerialManageModel)dao.getSerialManage(serialManageModel);
dao.updateSerialManageSelfAdd(serialManageModel);
marryAppModel.setApp_no(SerialManageUtil.getOutRegistAppNo("000310999", serialManageModel));
marryPersonModel.setApp_no(marryAppModel.getApp_no());
marryProofModel.setApp_no(marryAppModel.getApp_no());
marryAppModel.setApp_case_type("000000014");
marryAppModel.setFlow_id("000000004");
marryAppModel.setCert_no(certNum);
// if (certNum.length()==13)
// marryAppModel.setCert_serial_no(certNum.substring(4,7)+certNum.substring(0, 4)+certNum.substring(7, 13));
// else
marryAppModel.setCert_serial_no(certNum);
marryAppModel.setApprove_opnn("符合补发条件,准予补发");
MarryProofDAO marryProofDAO = new MarryProofDAO(conn);
marryProofDAO.updateMarryProof(marryProofModel);
};
MarryAppDAO marryAppDAO = new MarryAppDAO(conn);
marryAppDAO.updateMarryApp(marryAppModel);
MarryPersonDAO marryPersonDAO = new MarryPersonDAO(conn);
marryPersonDAO.updateMarryPerson(marryPersonModel);
}
/**
*如果certNum证字号不存在,将该记录插入系统中
*/
else{
//涉外结婚登记
if (op_type.equals("IA")){
serialManageModel.setSerial_type("000000005");
serialManageModel.setOrgan_id("000310999");
//生成最新的app_no
serialManageModel = (SerialManageModel)dao.getSerialManage(serialManageModel);
dao.updateSerialManageSelfAdd(serialManageModel);
marryAppModel.setApp_no(SerialManageUtil.getOutRegistAppNo("000310999", serialManageModel));
marryAppModel.setApp_case_type("000000011");
marryAppModel.setFlow_id("000000001");
marryAppModel.setCert_no(certNum);
//证书字号转换
// if (certNum.length()==13)
// marryAppModel.setCert_serial_no(certNum.substring(4,7)+certNum.substring(0, 4)+certNum.substring(7, 13));
// else
// marryAppModel.setCert_serial_no(certNum.substring(4,8)+certNum.substring(0, 4)+certNum.substring(8, 14));
marryAppModel.setCert_serial_no(certNum);
marryAppModel.setApprove_opnn("符合补发条件,准予补发");
marryPersonModel.setApp_no(marryAppModel.getApp_no());
// 根据recelement 拼装 MarryRegModel
MarryRegModel marryRegModel = new MarryRegModel();
marryRegModel.setApp_no(marryAppModel.getApp_no());
marryRegModel.setCohabit_date(null);
marryRegModel.setIf_reproof(null);
if (recelement.attribute("RENEW_FLAG")==null)
marryRegModel.setIf_resume(null);
else
marryRegModel.setIf_resume(recelement.attribute("RENEW_FLAG").getValue());
marryRegModel.setMemo(null);
MarryRegDAO marryRegDAO = new MarryRegDAO(conn);
marryRegDAO.insertMarryReg(marryRegModel);
}
//涉外离婚登记
else if(op_type.equals("IB")){
serialManageModel.setSerial_type("000000006");
serialManageModel.setOrgan_id("000310999");
serialManageModel = (SerialManageModel)dao.getSerialManage(serialManageModel);
dao.updateSerialManageSelfAdd(serialManageModel);
marryAppModel.setApp_no(SerialManageUtil.getOutRegistAppNo("000310999", serialManageModel));
marryAppModel.setApp_case_type("000000012");
marryAppModel.setFlow_id("000000002");
marryAppModel.setCert_no(certNum);
//证书字号转换
// if (certNum.length()==13)
// marryAppModel.setCert_serial_no(certNum.substring(4,7)+certNum.substring(0, 4)+certNum.substring(7, 13));
// else
// marryAppModel.setCert_serial_no(certNum.substring(4,8)+certNum.substring(0, 4)+certNum.substring(8, 14));
marryAppModel.setCert_serial_no(certNum);
marryAppModel.setApprove_opnn("符合离婚条件,准予登记");
marryPersonModel.setApp_no(marryAppModel.getApp_no());
//根据recelement 拼装 MarryDivorceRegModel
MarryDivorceRegModel marryDivorceRegModel = new MarryDivorceRegModel();
marryDivorceRegModel.setApp_no(marryAppModel.getApp_no());
marryDivorceRegModel.setDivorce_reason(getDic("fb10", recelement.attribute("DIVORCE_REASON").getValue()));
marryDivorceRegModel.setDivorce_type_id(null);
if (recelement.attribute("OLD_CERT_NO")==null)
marryDivorceRegModel.setMarry_cert_no(null);
else
marryDivorceRegModel.setMarry_cert_no(OldcertNum);
if (recelement.attribute("OLD_OP_DATE")==null|| "".equals(recelement.attribute("OLD_OP_DATE").getValue()))
marryDivorceRegModel.setMarry_date(null);
else{
todate = recelement.attribute("OLD_OP_DATE").getValue();
marryDivorceRegModel.setMarry_date(formatter.parse(todate));
}
if (recelement.attribute("OLD_DEPT_NAME")==null)
marryDivorceRegModel.setMarry_organ_id("");
else
marryDivorceRegModel.setMarry_organ_id(recelement.attribute("OLD_DEPT_NAME").getValue());
marryDivorceRegModel.setMemo(null);
MarryDivorceRegDAO marryDivorceRegDAO = new MarryDivorceRegDAO(conn);
marryDivorceRegDAO.insertMarryDivorceReg(marryDivorceRegModel);
}
//涉外结婚补证
else if(op_type.equals("ICA")){
// marry_person,marry_proof,marry_app 结婚补证
serialManageModel.setSerial_type("000000007");
serialManageModel.setOrgan_id("000310999");
serialManageModel = (SerialManageModel)dao.getSerialManage(serialManageModel);
dao.updateSerialManageSelfAdd(serialManageModel);
marryAppModel.setApp_no(SerialManageUtil.getOutRegistAppNo("000310999", serialManageModel));
marryPersonModel.setApp_no(marryAppModel.getApp_no());
marryProofModel.setApp_no(marryAppModel.getApp_no());
marryAppModel.setApp_case_type("000000013");
marryAppModel.setFlow_id("000000003");
marryAppModel.setCert_no(certNum);
// if (certNum.length()==13)
// //沪外结2009001288 2009沪外结000002
// marryAppModel.setCert_serial_no(certNum.substring(4,7)+certNum.substring(0, 4)+certNum.substring(7, 13));
// else
// //沪外补结2009001288 2009沪外补结000002
// marryAppModel.setCert_serial_no(certNum.substring(4,8)+certNum.substring(0, 4)+certNum.substring(8, 14));
marryAppModel.setCert_serial_no(certNum);
marryAppModel.setApprove_opnn("符合补发条件,准予补发");
MarryProofDAO marryProofDAO = new MarryProofDAO(conn);
marryProofDAO.insertMarryProof(marryProofModel);
}
//涉外离婚补证
else{
// marry_person,marry_proof,marry_app 离婚补证
serialManageModel.setSerial_type("000000008");
serialManageModel.setOrgan_id("000310999");
serialManageModel = (SerialManageModel)dao.getSerialManage(serialManageModel);
dao.updateSerialManageSelfAdd(serialManageModel);
marryAppModel.setApp_no(SerialManageUtil.getOutRegistAppNo("000310999", serialManageModel));
marryPersonModel.setApp_no(marryAppModel.getApp_no());
marryProofModel.setApp_no(marryAppModel.getApp_no());
marryAppModel.setApp_case_type("000000014");//000000011 涉外结婚申请000000012 涉外离婚申请000000013 涉外结婚办证申请000000014 涉外离婚办证申请
marryAppModel.setFlow_id("000000004");//000000001 结婚登记 000000002 离婚登记 000000003 结婚补证 000000004 离婚补证 000000005 撤销结婚登记
marryAppModel.setCert_no(certNum);
// if (certNum.length()==13)
// //沪外结2009001288 2009沪外结000002
// marryAppModel.setCert_serial_no(certNum.substring(4,7)+certNum.substring(0, 4)+certNum.substring(7, 13));
// else
// //沪外补结2009001288 2009沪外补结000002
// marryAppModel.setCert_serial_no(certNum.substring(4,8)+certNum.substring(0, 4)+certNum.substring(8, 14));
//
marryAppModel.setCert_serial_no(certNum);
marryAppModel.setApprove_opnn("符合补发条件,准予补发");
MarryProofDAO marryProofDAO = new MarryProofDAO(conn);
marryProofDAO.insertMarryProof(marryProofModel);
};
MarryAppDAO marryAppDAO = new MarryAppDAO(conn);
marryAppDAO.insertMarryApp(marryAppModel);
MarryPersonDAO marryPersonDAO = new MarryPersonDAO(conn);
marryPersonDAO.insertMarryPerson(marryPersonModel);
}
/**
* 主要信息更新或者插入完成后,对MarryPrsnStatus表进行更新或者插入。
* 表中会分别以男方和女方信息为主生成两条记录
*/
//拼装MarryPrsnStatusModel
MarryPrsnStatusModel marryPrsnStatusModel= new MarryPrsnStatusModel();
MarryPrsnStatusDAO marryPrsnStatusDAO = new MarryPrsnStatusDAO(conn);
//以男方信息为主更新或插入
//男女双方对应信息已存在,对已存在信息进行更新
if (ifPrsnExists(recelement.attribute("NAME_MAN").getValue(), recelement.attribute("CERT_NUM_MAN").getValue())){
if (recelement.attribute("CERT_TYPE_MAN")==null)
marryPrsnStatusModel.setCert_type("");
else
marryPrsnStatusModel.setCert_type(getDic("fb3", recelement.attribute("CERT_TYPE_MAN").getValue()));
if (recelement.attribute("CERT_NUM_MAN")==null)
marryPrsnStatusModel.setCert_no("");
else
marryPrsnStatusModel.setCert_no(recelement.attribute("CERT_NUM_MAN").getValue());
if (recelement.attribute("NAME_MAN")==null)
marryPrsnStatusModel.setName("");
else
marryPrsnStatusModel.setName(recelement.attribute("NAME_MAN").getValue());
marryPrsnStatusModel.setSex_id("1");//直接为男性
//结婚
if (op_type.equals("IA")){
marryPrsnStatusModel.setMarry_status_name("已婚");
marryPrsnStatusModel.setMarry_status("000000002");
}
//离婚
else if(op_type.equals("IB")){
marryPrsnStatusModel.setMarry_status_name("离婚");
marryPrsnStatusModel.setMarry_status("000000004");
}
//结婚补证
else if(op_type.equals("ICA")){
marryPrsnStatusModel.setMarry_status_name("已婚");
marryPrsnStatusModel.setMarry_status("000000002");
}
//离婚补证
else{
marryPrsnStatusModel.setMarry_status_name("离婚");
marryPrsnStatusModel.setMarry_status("000000004");
}
if (recelement.attribute("NAME_WOMAN")==null)
marryPrsnStatusModel.setMate_name("");
else
marryPrsnStatusModel.setMate_name(recelement.attribute("NAME_WOMAN").getValue());
if (recelement.attribute("CERT_TYPE_WOMAN")==null)
marryPrsnStatusModel.setMate_cert_id("");
else
marryPrsnStatusModel.setMate_cert_id(getDic("fb3", recelement.attribute("CERT_TYPE_WOMAN").getValue()));
if (recelement.attribute("CERT_NUM_WOMAN")==null)
marryPrsnStatusModel.setMate_cert_no("");
else
marryPrsnStatusModel.setMate_cert_no(recelement.attribute("CERT_NUM_WOMAN").getValue());
marryPrsnStatusModel.setCertificate_no(marryAppModel.getCert_no());
marryPrsnStatusModel.setReg_date(marryAppModel.getDraw_date());
if (recelement.attribute("DEPT_NAME")==null)
marryPrsnStatusModel.setOrgan_name("");
else
marryPrsnStatusModel.setOrgan_name(recelement.attribute("DEPT_NAME").getValue());
marryPrsnStatusModel.setLast_update_date(null);
marryPrsnStatusModel.setApp_no(marryAppModel.getApp_no());
marryPrsnStatusModel.setMemo(null);
marryPrsnStatusDAO.updateMarryPrsnStatus(marryPrsnStatusModel);
}
//信息不存在,进行插入操作
else{
//insert
if (recelement.attribute("CERT_TYPE_MAN")==null)
marryPrsnStatusModel.setCert_type("");
else
marryPrsnStatusModel.setCert_type(getDic("fb3", recelement.attribute("CERT_TYPE_MAN").getValue()));
if (recelement.attribute("CERT_NUM_MAN")==null)
marryPrsnStatusModel.setCert_no("");
else
marryPrsnStatusModel.setCert_no(recelement.attribute("CERT_NUM_MAN").getValue());
if (recelement.attribute("NAME_MAN")==null)
marryPrsnStatusModel.setName("");
else
marryPrsnStatusModel.setName(recelement.attribute("NAME_MAN").getValue());
marryPrsnStatusModel.setSex_id("1");//直接为男性
//结婚
if (op_type.equals("IA")){
marryPrsnStatusModel.setMarry_status_name("已婚");
marryPrsnStatusModel.setMarry_status("000000002");
}
//离婚
else if(op_type.equals("IB")){
marryPrsnStatusModel.setMarry_status_name("离婚");
marryPrsnStatusModel.setMarry_status("000000004");
}
//结婚补证
else if(op_type.equals("ICA")){
marryPrsnStatusModel.setMarry_status_name("已婚");
marryPrsnStatusModel.setMarry_status("000000002");
}
//离婚补证
else{
marryPrsnStatusModel.setMarry_status_name("离婚");
marryPrsnStatusModel.setMarry_status("000000004");
}
if (recelement.attribute("NAME_WOMAN")==null)
marryPrsnStatusModel.setMate_name("");
else
marryPrsnStatusModel.setMate_name(recelement.attribute("NAME_WOMAN").getValue());
if (recelement.attribute("CERT_TYPE_WOMAN")==null)
marryPrsnStatusModel.setMate_cert_id("");
else
marryPrsnStatusModel.setMate_cert_id(getDic("fb3", recelement.attribute("CERT_TYPE_WOMAN").getValue()));
if (recelement.attribute("CERT_NUM_WOMAN")==null)
marryPrsnStatusModel.setMate_cert_no("");
else
marryPrsnStatusModel.setMate_cert_no(recelement.attribute("CERT_NUM_WOMAN").getValue());
marryPrsnStatusModel.setCertificate_no(marryAppModel.getCert_no());
marryPrsnStatusModel.setReg_date(marryAppModel.getDraw_date());
if (recelement.attribute("DEPT_NAME")==null)
marryPrsnStatusModel.setOrgan_name("");
else
marryPrsnStatusModel.setOrgan_name(recelement.attribute("DEPT_NAME").getValue());
marryPrsnStatusModel.setLast_update_date(null);
marryPrsnStatusModel.setApp_no(marryAppModel.getApp_no());
marryPrsnStatusModel.setMemo(null);
marryPrsnStatusDAO.insertMarryPrsnStatus(marryPrsnStatusModel);
};
//男女双方对应信息已存在,对已存在信息进行更新
//以女方信息为主更新或插入
if (ifPrsnExists(recelement.attribute("NAME_WOMAN").getValue(), recelement.attribute("CERT_NUM_WOMAN").getValue())){
//update
if (recelement.attribute("CERT_TYPE_WOMAN")==null)
marryPrsnStatusModel.setCert_type("");
else
marryPrsnStatusModel.setCert_type(getDic("fb3", recelement.attribute("CERT_TYPE_WOMAN").getValue()));
if (recelement.attribute("CERT_NUM_WOMAN")==null)
marryPrsnStatusModel.setCert_no("");
else
marryPrsnStatusModel.setCert_no(recelement.attribute("CERT_NUM_WOMAN").getValue());
if (recelement.attribute("NAME_WOMAN")==null)
marryPrsnStatusModel.setName("");
else
marryPrsnStatusModel.setName(recelement.attribute("NAME_WOMAN").getValue());
marryPrsnStatusModel.setSex_id("2");//直接为女性
//结婚
if (op_type.equals("IA")){
marryPrsnStatusModel.setMarry_status_name("已婚");
marryPrsnStatusModel.setMarry_status("000000002");
}
//离婚
else if(op_type.equals("IB")){
marryPrsnStatusModel.setMarry_status_name("离婚");
marryPrsnStatusModel.setMarry_status("000000004");
}
//结婚补证
else if(op_type.equals("ICA")){
marryPrsnStatusModel.setMarry_status_name("已婚");
marryPrsnStatusModel.setMarry_status("000000002");
}
//离婚补证
else{
marryPrsnStatusModel.setMarry_status_name("离婚");
marryPrsnStatusModel.setMarry_status("000000004");
}
if (recelement.attribute("NAME_MAN")==null)
marryPrsnStatusModel.setMate_name("");
else
marryPrsnStatusModel.setMate_name(recelement.attribute("NAME_MAN").getValue());
if (recelement.attribute("CERT_TYPE_MAN")==null)
marryPrsnStatusModel.setMate_cert_id("");
else
marryPrsnStatusModel.setMate_cert_id(getDic("fb3", recelement.attribute("CERT_TYPE_MAN").getValue()));
if (recelement.attribute("CERT_NUM_MAN")==null)
marryPrsnStatusModel.setMate_cert_no("");
else
marryPrsnStatusModel.setMate_cert_no(recelement.attribute("CERT_NUM_MAN").getValue());
marryPrsnStatusModel.setCertificate_no(marryAppModel.getCert_no());
marryPrsnStatusModel.setReg_date(marryAppModel.getDraw_date());
if (recelement.attribute("DEPT_NAME")==null)
marryPrsnStatusModel.setOrgan_name("");
else
marryPrsnStatusModel.setOrgan_name(recelement.attribute("DEPT_NAME").getValue());
marryPrsnStatusModel.setLast_update_date(null);
marryPrsnStatusModel.setApp_no(marryAppModel.getApp_no());
marryPrsnStatusModel.setMemo(null);
marryPrsnStatusDAO.updateMarryPrsnStatus(marryPrsnStatusModel);
}
else{
//insert
//以女方信息为主插入
if (recelement.attribute("CERT_TYPE_WOMAN")==null)
marryPrsnStatusModel.setCert_type("");
else
marryPrsnStatusModel.setCert_type(getDic("fb3", recelement.attribute("CERT_TYPE_WOMAN").getValue()));
if (recelement.attribute("CERT_NUM_WOMAN")==null)
marryPrsnStatusModel.setCert_no("");
else
marryPrsnStatusModel.setCert_no(recelement.attribute("CERT_NUM_WOMAN").getValue());
if (recelement.attribute("NAME_WOMAN")==null)
marryPrsnStatusModel.setName("");
else
marryPrsnStatusModel.setName(recelement.attribute("NAME_WOMAN").getValue());
marryPrsnStatusModel.setSex_id("2");//直接为女性
//结婚
if (op_type.equals("IA")){
marryPrsnStatusModel.setMarry_status_name("已婚");
marryPrsnStatusModel.setMarry_status("000000002");
}
//离婚
else if(op_type.equals("IB")){
marryPrsnStatusModel.setMarry_status_name("离婚");
marryPrsnStatusModel.setMarry_status("000000004");
}
//结婚补证
else if(op_type.equals("ICA")){
marryPrsnStatusModel.setMarry_status_name("已婚");
marryPrsnStatusModel.setMarry_status("000000002");
}
//离婚补证
else{
marryPrsnStatusModel.setMarry_status_name("离婚");
marryPrsnStatusModel.setMarry_status("000000004");
}
if (recelement.attribute("NAME_MAN")==null)
marryPrsnStatusModel.setMate_name("");
else
marryPrsnStatusModel.setMate_name(recelement.attribute("NAME_MAN").getValue());
if (recelement.attribute("CERT_TYPE_MAN")==null)
marryPrsnStatusModel.setMate_cert_id("");
else
marryPrsnStatusModel.setMate_cert_id(getDic("fb3", recelement.attribute("CERT_TYPE_MAN").getValue()));
if (recelement.attribute("CERT_NUM_MAN")==null)
marryPrsnStatusModel.setMate_cert_no("");
else
marryPrsnStatusModel.setMate_cert_no(recelement.attribute("CERT_NUM_MAN").getValue());
marryPrsnStatusModel.setCertificate_no(marryAppModel.getCert_no());
marryPrsnStatusModel.setReg_date(marryAppModel.getDraw_date());
if (recelement.attribute("DEPT_NAME")==null)
marryPrsnStatusModel.setOrgan_name("");
else
marryPrsnStatusModel.setOrgan_name(recelement.attribute("DEPT_NAME").getValue());
marryPrsnStatusModel.setLast_update_date(null);
marryPrsnStatusModel.setApp_no(marryAppModel.getApp_no());
marryPrsnStatusModel.setMemo(null);
marryPrsnStatusDAO.insertMarryPrsnStatus(marryPrsnStatusModel);
}
}
}
try {
commit(conn);
}
catch (SQLException sqle) {
rollback(conn);
Debug.debug(this.getClass(),"updateDivorceRegist sqle="+sqle.toString());
throw DB_ERROR;
}
}
catch (LogicException le) {
rollback(conn);
throw le;
}
catch(DocumentException e)
{
//System.out.println(e.getMessage());
return false;
}
finally {
releaseConnection(conn);
}
return true;
}
/**
* 判断 marry_prsn_status 表中该人员是否存在
* @param name 申请人姓名
* @param certNo 申请人证件号码
* @return ifExists
*/
private boolean ifPrsnExists(String name, String certNo){
Connection conn= null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
boolean ifExists = false;
try{
sql = "select * from marry_prsn_status where name = ? and cert_no = ?";
conn=getConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,name);
pstmt.setString(2,certNo);
rs = pstmt.executeQuery();
if (rs.next())
ifExists = true;
else
ifExists = false;
}catch(Exception e){
e.printStackTrace();
}
finally {
releaseConnection(conn,pstmt,rs);
}
return ifExists;
}
/**
* 字典转换
* @param dic_name 字典编号
* @param dic_col 名称序号
* @return dic_xt 转换后的数据
*/
private String getDic(String dic_name, String dic_col){
Connection conn= null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
String dic_xt = "";
try{
sql = "select id from dic_hy_outrelation where dic_id = ? and out_item_id = ?";
conn=getConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,dic_name);
pstmt.setString(2,dic_col);
rs = pstmt.executeQuery();
while(rs.next()){
dic_xt=rs.getString(1);
}
}catch(Exception e){
e.printStackTrace();
}
finally {
releaseConnection(conn,pstmt,rs);
}
return dic_xt;
}
/**
* 证书字号转换
* @param cert_id
* @return
*/
private String getCertId(String cert_id){
String cert = "";
String str [] = cert_id.split("-");
if(str[0].length()<9){
//区县
cert = getNameBy6(cert_id);
}else{
//乡镇
cert = getNameBy9(cert_id);
}
return cert;
}
/*
* 证书字号转换
*/
private String getNameBy6(String name){
String temp ="";
String str = "";
String num = "";
String end = "";
String t1 = name.substring(0,1);
if(t1.equals("J")){
temp = "沪外结";
str = name.substring(8,12);
num = name.substring(13,18);
}else if(t1.equals("L")){
temp = "沪外离";
str = name.substring(8,12);
num = name.substring(13,18);
}else{
String t2 = name.substring(0,2);
if(t2.equals("BJ")){
temp = "沪外补结";
str = name.substring(9,13);
num = name.substring(14,19);
}
else{
temp = "沪外补离";
str = name.substring(9,13);
num = name.substring(14,19);
}
}
end =str+temp+"0"+num;
return end;
}
/*
* 证书字号转换
*/
private String getNameBy9(String name){
String temp ="";
String str = "";
String num = "";
String end = "";
String t1 = name.substring(0,1);
if(t1.equals("J")){
temp = "沪外结";
str = name.substring(11,15);
num = name.substring(16,21);
}else if(t1.equals("L")){
temp = "沪外离";
str = name.substring(11,15);
num = name.substring(16,21);
}else{
String t2 = name.substring(0,2);
if(t2.equals("BJ")){
temp = "沪外补结";
str = name.substring(12,16);
num = name.substring(17,22);
}
else{
temp = "沪外补离";
str = name.substring(12,16);
num = name.substring(17,22);
}
}
end =str+temp+"0"+num;
return end;
}
/**
* 判断XML文件中的数据在数据库中是否存在
* @param cert_name XML中的证书字号
* @return temp 存在为true
*/
private boolean isExist(String cert_name){
Connection conn= null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
boolean temp = false;
try{
sql = "select * from marry_app where cert_no = ?";
conn=getConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,cert_name);
rs = pstmt.executeQuery();
while(rs.next()){
temp = true;
}
}catch(Exception e){
e.printStackTrace();
}
finally {
releaseConnection(conn,pstmt,rs);
}
return temp;
}
/**
* 判断XML文件中的数据已经存在时,得到对应的app_no
* @param cert_name XML中的证书字号
* @return temp 得到app_no
*/
private String getAppNo(String cert_name){
Connection conn= null;
Statement pstmt = null;
ResultSet rs = null;
String sql = "";
String temp = "";
try{
sql = "select app_no from marry_app where cert_no = '"+cert_name+"'";
conn=getConnection();
pstmt = conn.prepareStatement(sql);
// pstmt.setString(1,cert_name);
rs = pstmt.executeQuery(sql);
while(rs.next()){
temp = rs.getString(1);
}
}catch(Exception e){
e.printStackTrace();
}
finally {
releaseConnection(conn,pstmt,rs);
}
return temp;
}
}
解析XML文件示例的更多相关文章
- 使用pull方式解析xml文件示例:
网上的示例太多,基本类似,个人在此做个简单的总结: 1.首先在工程的asserts目录下建一个book.xml文件: <?xml version="1.0" encoding ...
- Android -- 创建XML文件对象及其序列化, pull解析XML文件
1. 创建XML文件对象及其序列化 示例代码:(模拟以xml格式备份短信到SD卡) SmsInfo.java, bean对象 /** * 短信的业务bean * @author Administrat ...
- ACEXML解析XML文件——简单示例程序
掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...
- java中采用dom4j解析xml文件
一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...
- ACEXML解析XML文件——我是如何学习并在短时间内掌握一个库的使用方法的
最近做的C++项目中需要使用xml文件保存一些信息,程序启动时会读取这些信息.最终经过主程的评测,决定使用ACEXML库来读取解析XML文件. 好吧,至于为什么选择ACEXML库,我就不说了.既然选择 ...
- apache.commoms.digester3 解析xml文件
Technorati 标签: java,xml,digester,xmlrule,FromXmlRulesModule 1 简介 java解析xml,就个人所知有3种方法DOM.SAX和Digeste ...
- 2017/4/26-DOM解析XML文件
DOM解析XML 1.分析 DOM是JAVA自带的XML解析API.DOM首先将XML文件全部加载至内存中,然后再内存中创建DOM树,生成DOM树上的每个Node节点. 2.优点 1) 可以创建或修改 ...
- 2017/4/25-SAX解析XML文件
SAX解析XML 1.分析 SAX是按照XML文件的顺序执行,可以说是边扫描,边解析.所以无须将整个文件加载至内存中. 2.优点 1)占用内存少. 2)解析效率高. 3.缺点 1)只能进行读取. 2) ...
- 【TensorFlow】Python解析xml文件
最近在项目中使用TensorFlow训练目标检测模型,在制作自己的数据集时使用了labelimg软件对图片进行标注,产生了VOC格式的数据,但标注生成的xml文件标签值难免会产生个别错误造成程序无法跑 ...
随机推荐
- ZeroMemory和memset的区别
摘自百度百科,保存为学习使用 ZeroMemory,是美国微软公司的软件开发包SDK中的一个宏. 其作用是用0来填充一块内存区域. 声明 void ZeroMemory( PVOID Destinat ...
- IOS 学习笔记 20150314
Objective--C 类与对象 1 关键字 @interace 类定义 @end 类结束 @implementation 类实现 : 继承 @public 公用 @private 私有 @prot ...
- html doctype 作用
文档模式主要有以下两个作用: 1.告诉浏览器使用什么样的html或xhtml规范来解析html文档 2.对浏览器的渲染模式产生影响:不同的渲染模式会影响到浏览器对于 CSS 代码甚至 JavaScri ...
- 网站开发常用jQuery插件总结(14)图片修剪插件Jcrop
一.插件功能 用于对图片进行修剪.但是在使用Jcrop时,还需要配合服务器端开发语言(如asp.net,php等)使用. 二.官方地址 http://deepliquid.com/content/Jc ...
- data:image/png;base64是什么
大家可能注意到了,网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJ ...
- 基于ActiveMQ的点对点收发消息
ActiveMQ是apache的一个开源消息引擎.可以作为即通引擎或者消息中间件引擎. 准备 下载ActiveMQ http://activemq.apache.org/download.html 进 ...
- apache2.2+PHP5.4.28
搭建apache+php开发环境,apache一路正常安装,但是,下载的php搭建后,配置好apache.php,始终报错“The requested operation has failed!”换了 ...
- gulp最佳实践(包含js,css,html预编译,合并,压缩,浏览器自动刷新)
gulp是基于流的自动化构建工具官方网址:http://www.gulpjs.com.cn/ 一.安装需要的模块 1.新建package.json,输入下面的内容 { "name" ...
- 【python】【转】if else 和 elif
else和elif语句也可以叫做子句,因为它们不能独立使用,两者都是出现在if.for.while语句内部的.else子句可以增加一种选择:而elif子句则是需要检查更多条件时会被使用,与if和els ...
- 在ADO.NET中使用参数化SQL语句访问不同数据库时的差异
在ADO.NET中经常需要跟各种数据库打交道,在不实用存储过程的情况下,使用参数化SQL语句一定程度上可以防止SQL注入,同时对一些较难赋值的字段(如在SQL Server中Image字段,在Orac ...