public ResumeData Parse() { try { // pre-process preProcess(); // building education info extractEducationExperience(); // building basic info extractBasicInfo(); // add highest edu-info into basic info if (resumedata.LatestSchool == null || resumedata.LatestSchool.Trim() == "") { if (resumedata.EducationExperience.Count > 0) { EducationExperienceData edu_item = EduAnalyzer .getHighestEduExperience(resumedata.EducationExperience); resumedata.LatestSchool = edu_item.School; resumedata.LatestDegree = edu_item.Degree; resumedata.LatestMajor = edu_item.Major; } } // build work info extractWorkExperience(); WorkExperienceData workData = WorkAnalyzer.getearliestWorkExperience(resumedata.WorkExperience); if (workData != null && workData.StartTime != "") { int workYears = 0; if (workData.StartTime != "") { int workStartYear = Convert.ToInt32(workData.StartTime.Trim().Split(new char[] { '-' })[0]); workYears = DateTime.Now.Year - workStartYear; resumedata.WorkYears = workYears; } } // build except job info extractJobTarget(); // build self-evaluation info extractSelfEvaluation(); // building language-skill info extractLanguageSkill(); } catch (Exception ex) { LoggerWrapper.Logger.Error("简历解析错误", ex); } return(resumedata); }
public void extractEducationExperience() { string seg_name = "edu_background"; if (segmentMap.ContainsKey(seg_name)) { SectionInfo sectionInfo = segmentMap[seg_name]; EduAnalyzer analyzer = new EduAnalyzer(resumeContentList, sectionInfoList); List <EducationExperienceData> educationExperienceDataList = analyzer .extractEducationExperience(sectionInfo.Start, sectionInfo.End); resumedata.EducationExperience = educationExperienceDataList; } else { EduAnalyzer analyzer = new EduAnalyzer(resumeContentList, sectionInfoList); List <EducationExperienceData> educationExperienceDataList = analyzer.searchEducationExperience(); resumedata.EducationExperience = educationExperienceDataList; } }