public void DeserializeFromXML(XmlElement root) { if (root == null) { return; } XmlElement element = (XmlElement)root.SelectSingleNode("MyUserCount"); if (element != null) { MyUserCount = element.InnerText; } element = (XmlElement)root.SelectSingleNode("TotalBalance"); if (element != null) { TotalBalance = element.InnerText; string szTotalBalance = ""; float totalBalance; if (float.TryParse(TotalBalance, out totalBalance)) { totalBalance = totalBalance / 100; szTotalBalance = totalBalance.ToString("0.00"); } else { Trace.Log("gamepromotion : parse float failed " + TotalBalance); } TotalBalance = szTotalBalance; } element = (XmlElement)root.SelectSingleNode("UsableBalance"); if (element != null) { UsableBalance = element.InnerText; string szBalance = ""; float balance; if (float.TryParse(UsableBalance, out balance)) { balance = balance / 100; szBalance = balance.ToString("0.00"); } else { Trace.Log("gamepromotion : parse float failed " + UsableBalance); } UsableBalance = szBalance; } element = (XmlElement)root.SelectSingleNode("FreezeBalance"); if (element != null) { FreezeBalance = element.InnerText; string szBalance = ""; float balance; if (float.TryParse(FreezeBalance, out balance)) { balance = balance / 100; szBalance = balance.ToString("0.00"); } else { Trace.Log("gamepromotion : parse float failed " + FreezeBalance); } FreezeBalance = szBalance; } XmlNodeList nodeList = root.SelectNodes("data"); if (nodeList != null) { UserList = new List <MyUser>(); foreach (XmlElement item in nodeList) { MyUser user = new MyUser(); user.DeserializeFromXML(item); UserList.Add(user); } } else { UserList = null; } }