예제 #1
0
        private void method_10(JsonReader jsonReader_0, Interface11 interface11_0, string string_8, Interface10 interface10_0, XmlNamespaceManager xmlNamespaceManager_0)
        {
            Func <Interface12, bool> predicate = null;
            Class106 class2 = new Class106 {
                string_0 = string_8
            };
            string      str        = Class193.smethod_4(class2.string_0);
            Interface12 interface2 = this.method_14(class2.string_0, interface11_0, str, xmlNamespaceManager_0);

            interface10_0.imethod_0(interface2);
            int num = 0;

            while (jsonReader_0.Read())
            {
                if (jsonReader_0.JsonToken_0 == JsonToken.EndArray)
                {
                    break;
                }
                this.method_7(jsonReader_0, interface11_0, xmlNamespaceManager_0, class2.string_0, interface2);
                num++;
            }
            if (this.WriteArrayAttribute)
            {
                this.method_11(interface2, interface11_0);
            }
            if ((num == 1) && this.WriteArrayAttribute)
            {
                if (predicate == null)
                {
                    predicate = new Func <Interface12, bool>(class2.method_0);
                }
                Interface12 interface3 = interface2.Prop_0.OfType <Interface12>().Single <Interface12>(predicate);
                this.method_11(interface3, interface11_0);
            }
        }
예제 #2
0
        private void method_8(JsonReader jsonReader_0, Interface11 interface11_0, Interface10 interface10_0, string string_8, XmlNamespaceManager xmlNamespaceManager_0)
        {
            if (string.IsNullOrEmpty(string_8))
            {
                throw new JsonSerializationException("XmlNodeConverter cannot convert JSON with an empty property name to XML.");
            }
            Dictionary <string, string> dictionary = this.method_12(jsonReader_0, xmlNamespaceManager_0);
            string str = Class193.smethod_4(string_8);

            if (string_8.StartsWith("@"))
            {
                string      str2       = string_8.Substring(1);
                string      str3       = jsonReader_0.Object_0.ToString();
                string      str4       = Class193.smethod_4(str2);
                Interface10 interface2 = !string.IsNullOrEmpty(str4) ? interface11_0.imethod_11(str2, xmlNamespaceManager_0.LookupNamespace(str4), str3) : interface11_0.imethod_10(str2, str3);
                ((Interface12)interface10_0).imethod_1(interface2);
            }
            else
            {
                Interface12 interface3 = this.method_14(string_8, interface11_0, str, xmlNamespaceManager_0);
                interface10_0.imethod_0(interface3);
                foreach (KeyValuePair <string, string> pair in dictionary)
                {
                    string      str5       = Class193.smethod_4(pair.Key);
                    Interface10 interface4 = !string.IsNullOrEmpty(str5) ? interface11_0.imethod_11(pair.Key, xmlNamespaceManager_0.LookupNamespace(str5), pair.Value) : interface11_0.imethod_10(pair.Key, pair.Value);
                    interface3.imethod_1(interface4);
                }
                if ((((jsonReader_0.JsonToken_0 != JsonToken.String) && (jsonReader_0.JsonToken_0 != JsonToken.Integer)) && ((jsonReader_0.JsonToken_0 != JsonToken.Float) && (jsonReader_0.JsonToken_0 != JsonToken.Boolean))) && (jsonReader_0.JsonToken_0 != JsonToken.Date))
                {
                    if ((jsonReader_0.JsonToken_0 != JsonToken.Null) && (jsonReader_0.JsonToken_0 != JsonToken.EndObject))
                    {
                        xmlNamespaceManager_0.PushScope();
                        this.method_15(jsonReader_0, interface11_0, xmlNamespaceManager_0, interface3);
                        xmlNamespaceManager_0.PopScope();
                    }
                }
                else
                {
                    interface3.imethod_0(interface11_0.imethod_2(this.method_9(jsonReader_0)));
                }
            }
        }