public void Load() { RegisteredUsers.Clear(); TaskGroups.Clear(); var defGroup = CreateTaskGroup(0); defGroup.Name = "未分组"; if (File.Exists(DataFile)) { XmlDocument doc = new XmlDocument(); doc.Load(DataFile); XmlElement nodeUsers = doc.DocumentElement.GetElementsByTagName("Users")[0] as XmlElement; foreach (XmlElement elm in nodeUsers.ChildNodes) { RegisteredUserInfo user = new RegisteredUserInfo(elm); RegisteredUsers[user.AccountID] = user; var group = CreateTaskGroup(user.TaskGroupID); if (group == null) { group = defGroup; } var suser = new ServerLoginUserInfo(user, LoginStatus.离线, null); group.AddUser(suser.LoginInfo); } XmlElement nodeGrps = doc.DocumentElement.GetElementsByTagName("Groups")[0] as XmlElement; foreach (XmlElement elm in nodeGrps.ChildNodes) { int groupId = int.Parse(elm.GetAttribute("ID")); var grp = CreateTaskGroup(groupId); if (grp != null) { grp.Name = elm.GetAttribute("Name"); } } } }