读取xml文件信息并存入数据库

    

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>

猜你喜欢

转载自blog.csdn.net/qq501569325/article/details/89514649