private void parseResult(DSResponse resp) { List<StudentInfo> reqs = new ArrayList<StudentInfo>(); if (resp != null) { Element elmRoot = resp.getBody(); // Log.d("DEBUG", XmlHelper.convertToString(elmRoot)); List<Element> elms = XmlUtil.selectElements(elmRoot, "Student"); for (Element elm : elms) { reqs.add(new StudentInfo(elm)); } } if (mListener != null) mListener.onSuccess(reqs); }
public static DSUserInfo load(Element source) { DSUserInfo user = new DSUserInfo(); user.applicationName = source.getAttribute("Application"); user.contractName = source.getAttribute("Contract"); user.serverName = source.getAttribute("Server"); user.userName = source.getAttribute("UserName"); user.timeout = Converter.toInteger(source.getAttribute("Timeout"), -1); user.extendable = Converter.toBoolean(source.getAttribute("Extendable"), true); Date d = Converter.toDate(source.getAttribute("Expired")); user.expired.setTime(d); for (Element r : XmlUtil.selectElements(source, "Role")) { user.roles.add(r.getAttribute("Name")); } for (Element p : XmlUtil.selectElements(source, "Property")) { String pname = p.getAttribute("Name"); String pvalue = p.getTextContent(); user.properties.setProperty(pname, pvalue); } return user; }
// 解析XML資料 private void bindStudentList(Element content) { mListStudent.clear(); map.clear(); int studSize = 0; for (Element item : XmlUtil.selectElements(content)) { studSize += 1; InfoObject into = new InfoObject(); into.ClassName = XmlUtil.getElementText(item, "ClassName"); if (!map.contains(into.ClassName)) { into.IsExtends = false; mListStudent.add(into); map.add(into.ClassName); } StudentObject stud = new StudentObject(); stud.IsExtends = true; stud.ClassName = XmlUtil.getElementText(item, "ClassName"); stud.StudentNumber = XmlUtil.getElementText(item, "StudentNumber"); stud.StudentName = XmlUtil.getElementText(item, "StudentName"); stud.Gender = XmlUtil.getElementText(item, "Gender"); stud.StudentId = XmlUtil.getElementText(item, "RefStudentId"); mListStudent.add(stud); } Collections.sort( mListStudent, new Comparator<InfoObject>() { @Override public int compare(InfoObject lhs, InfoObject rhs) { return lhs.ClassName.compareTo(rhs.ClassName); } }); TextView txtStudentCount = (TextView) getActivity().findViewById(R.id.course_countStudent); txtStudentCount.setText("學生人數:" + studSize); startDisplay(); }