/// <summary> /// parse an xml node /// </summary> /// <param name="xnod"></param> /// <param name="level"></param> public override void LoadFromXml(XmlNode xnod, int level) { LoadNodeFromXml(xnod, level); if (xnod.Name == "Description") Description = xnod.InnerText; if (xnod.Name == "Started") SetAcquiredDate(DateTime.Parse(xnod.InnerText)); if (xnod.Name == "Affect") Affect = xnod.InnerText; if (xnod.Name == "Location") { Locn = new location(); Locn.LoadFromXml(xnod, level); } if (xnod.Name == "Skills") { Skills.Clear(); for (int i = 0; i < xnod.ChildNodes.Count; i++) { skill s = new skill(); s.LoadFromXml((XmlNode)xnod.ChildNodes[i], level); Skills.Add(s); } } // call recursively on all children of the current node if (xnod.HasChildNodes) { XmlNode xnodWorking = xnod.FirstChild; while (xnodWorking != null) { LoadFromXml(xnodWorking, level + 1); xnodWorking = xnodWorking.NextSibling; } } }
/// <summary> /// parse an xml node /// </summary> /// <param name="xnod"></param> /// <param name="level"></param> public void LoadFromXml(XmlNode xnod, int level) { if (xnod.Name == "Type") Type = xnod.InnerText; if (xnod.Name == "Date") SetStartTime(DateTime.Parse(xnod.InnerText)); if (xnod.Name == "Description") Description = xnod.InnerText; if (xnod.Name == "Locations") { locations.Clear(); for (int i = 0; i < xnod.ChildNodes.Count; i++) { location locn = new location(); locn.LoadFromXml((XmlNode)xnod.ChildNodes[i], level); locations.Add(locn); } } if (xnod.Name == "People") { people.Clear(); for (int i = 0; i < xnod.ChildNodes.Count; i++) { personality p = new personality(); p.LoadFromXml((XmlNode)xnod.ChildNodes[i], level); people.Add(p); } } if (xnod.Name == "Possessions") { possessions.Clear(); for (int i = 0; i < xnod.ChildNodes.Count; i++) { possession p = new possession(); p.LoadFromXml((XmlNode)xnod.ChildNodes[i], level); possessions.Add(p); } } // call recursively on all children of the current node if (xnod.HasChildNodes) { XmlNode xnodWorking = xnod.FirstChild; while (xnodWorking != null) { LoadFromXml(xnodWorking, level + 1); xnodWorking = xnodWorking.NextSibling; } } }
/// <summary> /// parse an xml node /// </summary> /// <param name="xnod"></param> /// <param name="level"></param> public override void LoadFromXml(XmlNode xnod, int level) { LoadNodeFromXml(xnod, level); if (xnod.Name == "Geography") { locations.Clear(); for (int i = 0; i < xnod.ChildNodes.Count; i++) { location locn = new location(); locn.LoadFromXml((XmlNode)xnod.ChildNodes[i], level); locations.Add(locn); } } if (xnod.Name == "Population") { personalities.Clear(); for (int i = 0; i < xnod.ChildNodes.Count; i++) { personality p = new personality(); p.LoadFromXml((XmlNode)xnod.ChildNodes[i], level); personalities.Add(p); } } if (xnod.Name == "Events") { events.Clear(); for (int i = 0; i < xnod.ChildNodes.Count; i++) { societyevent ev = new societyevent(); ev.LoadFromXml((XmlNode)xnod.ChildNodes[i], level); events.Add(ev); } } // call recursively on all children of the current node if (xnod.HasChildNodes) { XmlNode xnodWorking = xnod.FirstChild; while (xnodWorking != null) { LoadFromXml(xnodWorking, level + 1); xnodWorking = xnodWorking.NextSibling; } } }