BBGamelib.NSCollectionUtils.Parse C# (CSharp) Method

Parse() static private method

static private Parse ( XmlNode node ) : object
node System.Xml.XmlNode
return object
        static object Parse(XmlNode node)
        {
            switch (node.Name) {
                case "dict":
                    return ParseDictionary (node);
                case "array":
                    return ParseArray (node);
			case "string":
				return node.InnerText;
			case "integer":
				//  int result;
				return (int)(Convert.ToDouble (node.InnerText, System.Globalization.NumberFormatInfo.InvariantInfo));
			case "real":
				return (float)(Convert.ToDouble (node.InnerText, System.Globalization.NumberFormatInfo.InvariantInfo));
			case "false":
				return false;
			case "true":
				return true;
			case "null":
				return null;
			case "date":
				if(node.InnerText == "1-01-01T00:00:00Z")
					return XmlConvert.ToDateTime ("0001-01-01T00:00:00Z", XmlDateTimeSerializationMode.Utc);
                    else
                        return XmlConvert.ToDateTime (node.InnerText, XmlDateTimeSerializationMode.Utc);
                case "data":
                    return Convert.FromBase64String (node.InnerText);
            }
            throw new ApplicationException(String.Format("Plist Node `{0}' is not supported", node.Name));
        }
		#endregion