public LightWeightDictionary FillObjectArray(XmlNode child) { LightWeightDictionary dict = new LightWeightDictionary(); foreach (XmlNode childofOA in child.ChildNodes) { if (childofOA.ChildNodes.Count > 0 && childofOA.ChildNodes[0].Name == "Array") { List<object> al = new List<object>(); foreach (XmlNode childofOA2 in childofOA.ChildNodes[0].ChildNodes) { if (childofOA2.Name == "Array") { AddArrayData(childofOA2, al); } else if (childofOA2.ChildNodes.Count == 1) { if (childofOA2.ChildNodes[0].Name == "ObjectArray") { al.Add(FillObjectArray(childofOA2.ChildNodes[0])); } else { al.Add(childofOA2.InnerXml); } } } dict.Add(childofOA.Name, al); } else { dict.Add(childofOA.Name, childofOA.InnerXml); } } return dict; }
public Session() { ID = Guid.NewGuid(); Data = new LightWeightDictionary(); }
public string recurseDictionary(LightWeightDictionary dict) { StringBuilder str = new StringBuilder("[ObjectArray]"); foreach (string key in dict.GetAllKeys()) { str.Append("[").Append(key).Append("]"); object dictvalue = dict.GetValue(key); if (dictvalue.GetType().IsGenericType && dictvalue.GetType().GetGenericTypeDefinition() == typeof(List<>)) { str.Append(recurseArrayList(dictvalue as List<object>)); } else if (dictvalue is LightWeightDictionary) { str.Append(recurseDictionary(dictvalue as LightWeightDictionary)); } else { str.Append(dictvalue); } str.Append("[/").Append(key).Append("]"); } str.Append("[/ObjectArray]"); return str.ToString(); }