public List <DeptInfo> Build(string content) { //reset mDeptInfos = new List <DeptInfo>(); content = HtmlEntityCorrect.Encode(content); using (mReader = XmlReader.Create(new MemoryStream(Encoding.UTF8.GetBytes(content)))) { DeptInfo deptInfo = null; while (mReader.Read()) { if (mReader.NodeType == XmlNodeType.Element) { if (mReader.Name == "tr") { deptInfo = new DeptInfo(); mDeptInfos.Add(deptInfo); mState = DeptInfoBuilderState.DeptPlace; } else if (mReader.Name == "a") { deptInfo.DeptPlace = HtmlEntityCorrect.Decode(mReader.ReadString().Trim()); mState = DeptInfoBuilderState.Index; } else if (mReader.Name == "td") { switch (mState) { case DeptInfoBuilderState.Index: deptInfo.Index = HtmlEntityCorrect.Decode(mReader.ReadString()).Trim(); mState = DeptInfoBuilderState.Register; break; case DeptInfoBuilderState.Register: deptInfo.Register = HtmlEntityCorrect.Decode(mReader.ReadString()).Trim(); mState = DeptInfoBuilderState.Volume; break; case DeptInfoBuilderState.Volume: deptInfo.Volume = HtmlEntityCorrect.Decode(mReader.ReadString()).Trim(); mState = DeptInfoBuilderState.Year; break; case DeptInfoBuilderState.Year: deptInfo.Year = HtmlEntityCorrect.Decode(mReader.ReadString()).Trim(); mState = DeptInfoBuilderState.Status; break; case DeptInfoBuilderState.Status: deptInfo.Status = HtmlEntityCorrect.Decode(mReader.ReadString()).Trim(); mState = DeptInfoBuilderState.Type; break; case DeptInfoBuilderState.Type: deptInfo.Type = HtmlEntityCorrect.Decode(mReader.ReadString()).Trim(); mState = DeptInfoBuilderState.Other; break; default: break; } } } } } return(mDeptInfos); }
public List<DeptInfo> Build(string content) { //reset mDeptInfos = new List<DeptInfo>(); content = HtmlEntityCorrect.Encode(content); using (mReader = XmlReader.Create(new MemoryStream(Encoding.UTF8.GetBytes(content)))) { DeptInfo deptInfo = null; while (mReader.Read()) { if (mReader.NodeType == XmlNodeType.Element) { if (mReader.Name == "tr") { deptInfo = new DeptInfo(); mDeptInfos.Add(deptInfo); mState = DeptInfoBuilderState.DeptPlace; } else if (mReader.Name == "a") { deptInfo.DeptPlace = HtmlEntityCorrect.Decode(mReader.ReadString().Trim()); mState = DeptInfoBuilderState.Index; } else if (mReader.Name == "td") { switch (mState) { case DeptInfoBuilderState.Index: deptInfo.Index = HtmlEntityCorrect.Decode(mReader.ReadString()).Trim(); mState = DeptInfoBuilderState.Register; break; case DeptInfoBuilderState.Register: deptInfo.Register = HtmlEntityCorrect.Decode(mReader.ReadString()).Trim(); mState = DeptInfoBuilderState.Volume; break; case DeptInfoBuilderState.Volume: deptInfo.Volume = HtmlEntityCorrect.Decode(mReader.ReadString()).Trim(); mState = DeptInfoBuilderState.Year; break; case DeptInfoBuilderState.Year: deptInfo.Year = HtmlEntityCorrect.Decode(mReader.ReadString()).Trim(); mState = DeptInfoBuilderState.Status; break; case DeptInfoBuilderState.Status: deptInfo.Status = HtmlEntityCorrect.Decode(mReader.ReadString()).Trim(); mState = DeptInfoBuilderState.Type; break; case DeptInfoBuilderState.Type: deptInfo.Type = HtmlEntityCorrect.Decode(mReader.ReadString()).Trim(); mState = DeptInfoBuilderState.Other; break; default: break; } } } } } return mDeptInfos; }