controller.java
@RequestMapping("/readXMLFile")
public String readXMLFile(HttpServletRequest request,HttpServletResponse response) {
SAXReader saxReader=new SAXReader();
org.dom4j.Document document;
String xmlStr="";
String stauts="成功!";
try {
document = saxReader.read(new File("C:\\Users\\zhang\\Desktop\\test.xml"));
xmlStr = document.asXML();//将xml内容转化为字符串
demoservice.readXMLFile(xmlStr);
System.out.println("信息导入!!");
} catch (Exception e) {
stauts="失败!";
xmlStr="";
e.printStackTrace();
}
return stauts;
}
service.java
@Override
public void readXMLFile(String xmlStr) {
int count = 0;
int index = 0;
String str = "<DataTable>";
// Map<String, Object> map = new HashMap<String, Object>();
// LinkedHashSet<UserInfo> setlist = new LinkedHashSet<UserInfo>();
while(xmlStr.indexOf(str)!=-1){
index=xmlStr.indexOf(str) + str.length();
xmlStr = xmlStr.substring(index);
List<UserInfo> list = new ArrayList<UserInfo>();
UserInfo info = new UserInfo();
// info.setPat_no(xmlStr.substring(xmlStr.indexOf("<pat_no>")+9,xmlStr.indexOf("</pat_no>")));
info.setBed_no(xmlStr.substring(xmlStr.indexOf("<bed_no>")+8,xmlStr.indexOf("</bed_no>")));
info.setInpatient_no(Integer.parseInt(xmlStr.substring(xmlStr.indexOf("<inpatient_no>")+14,xmlStr.indexOf("</inpatient_no>"))));
info.setAdmiss_times(Integer.parseInt(xmlStr.substring(xmlStr.indexOf("<admiss_times>")+14,xmlStr.indexOf("</admiss_times>"))));
info.setPatient_id(Integer.parseInt(xmlStr.substring(xmlStr.indexOf("<patient_id>")+12,xmlStr.indexOf("</patient_id>"))));
info.setName(xmlStr.substring(xmlStr.indexOf("<name>")+6,xmlStr.indexOf("</name>")));
info.setSex(xmlStr.substring(xmlStr.indexOf("<sex>")+5,xmlStr.indexOf("</sex>")));
info.setBirthday(xmlStr.substring(xmlStr.indexOf("<birthday>")+10,xmlStr.indexOf("</birthday>")));
info.setAge(Integer.parseInt(xmlStr.substring(xmlStr.indexOf("<age>")+5,xmlStr.indexOf("</age>"))));
info.setAge_unit(xmlStr.substring(xmlStr.indexOf("<age_unit>")+10,xmlStr.indexOf("</age_unit>")));
info.setHuli(xmlStr.substring(xmlStr.indexOf("<huli>")+6,xmlStr.indexOf("</huli>")));
info.setYinshi(xmlStr.substring(xmlStr.indexOf("<yinshi>")+8,xmlStr.indexOf("</yinshi>")));
info.setIcd(xmlStr.substring(xmlStr.indexOf("<icd>")+5,xmlStr.indexOf("</icd>")));
info.setAdmiss_date(xmlStr.substring(xmlStr.indexOf("<admiss_date>")+13,xmlStr.indexOf("</admiss_date>")));
info.setConsult_physician(Integer.parseInt(xmlStr.substring(xmlStr.indexOf("<consult_physician>")+19,xmlStr.indexOf("</consult_physician>"))));
info.setConsult_physicia_name(xmlStr.substring(xmlStr.indexOf("<consult_physicia_name>")+23,xmlStr.indexOf("</consult_physicia_name>")));
info.setNurse_code(xmlStr.substring(xmlStr.indexOf("<nurse_code>")+12,xmlStr.indexOf("</nurse_code>")));
info.setNurse(xmlStr.substring(xmlStr.indexOf("<nurse>")+7,xmlStr.indexOf("</nurse>")));
info.setInout(xmlStr.substring(xmlStr.indexOf("<inout>")+7,xmlStr.indexOf("</inout>")));
info.setDept(xmlStr.substring(xmlStr.indexOf("<dept>")+6,xmlStr.indexOf("</dept>")));
info.setSocial_code(xmlStr.substring(xmlStr.indexOf("<social_code>")+13,xmlStr.indexOf("</social_code>")));
info.setResponse(xmlStr.substring(xmlStr.indexOf("<response>")+10,xmlStr.indexOf("</response>")));
info.setInsur_code(xmlStr.substring(xmlStr.indexOf("<insur_code>")+12,xmlStr.indexOf("</insur_code>")));
info.setHome_tel(xmlStr.substring(xmlStr.indexOf("<home_tel>")+10,xmlStr.indexOf("</home_tel>")));
info.setHome_street(xmlStr.substring(xmlStr.indexOf("<home_street>")+13,xmlStr.indexOf("</home_street>")));
info.setFycpf(xmlStr.substring(xmlStr.indexOf("<fycpf>")+7,xmlStr.indexOf("</fycpf>")));
info.setAllergy(xmlStr.substring(xmlStr.indexOf("<Allergy>")+9,xmlStr.indexOf("</Allergy>")));
//
// info.setXyflag(xmlStr.substring(xmlStr.indexOf("<xyflag>")+8,xmlStr.indexOf("</xyflag>")));
count++;
list.add(info);
try {
usermapper.insetr(list);
} catch (Exception e) {
e.printStackTrace();
}
}
dao.java
public interface UserMapper {
public void insetr(@Param("list") List<UserInfo> list);
}
mapper.xml
<insert id="insetr" parameterType="java.util.List">
insert into V_ykz_zyhzctk
(
BED_NO,
INPATIENT_NO,
ADMISS_TIMES,
PATIENT_ID,
NAME,
SEX,
BIRTHDAY,
AGE,
AGE_UNIT,
HULI,
YINSHI,
ICD,
ADMISS_DATE,
CONSULT_PHYSICIAN,
CONSULT_PHYSICIA_NAME,
NURSE_CODE,
NURSE,
A_INOUT,
DEPT,
SOCIAL_CODE,
RESPONSE,
INSUR_CODE,
HOME_TEL,
HOME_STREET,
FDDPF,
ALLERGY
) values
<foreach collection="list" item="param" open="(" separator="," close=")">
#{param.bed_no},#{param.inpatient_no,jdbcType=VARCHAR} ,#{param.admiss_times},
#{param.patient_id},#{param.name},#{param.sex},
#{param.birthday},#{param.age},#{param.age_unit},
#{param.huli},#{param.yinshi},#{param.icd},
#{param.admiss_date},#{param.consult_physician},#{param.consult_physicia_name},
#{param.nurse_code},#{param.nurse},#{param.inout},
#{param.dept},#{param.social_code},#{param.response},
#{param.insur_code},#{param.home_tel},#{param.home_street},
#{param.fycpf},#{param.Allergy}
</foreach>
</insert>