コード例 #1
0
        private void method_7(JsonReader jsonReader_0, Interface11 interface11_0, XmlNamespaceManager xmlNamespaceManager_0, string string_8, Interface10 interface10_0)
        {
            switch (string_8)
            {
            case "#text":
                interface10_0.imethod_0(interface11_0.imethod_2(jsonReader_0.Object_0.ToString()));
                return;

            case "#cdata-section":
                interface10_0.imethod_0(interface11_0.imethod_3(jsonReader_0.Object_0.ToString()));
                return;

            case "#whitespace":
                interface10_0.imethod_0(interface11_0.imethod_4(jsonReader_0.Object_0.ToString()));
                return;

            case "#significant-whitespace":
                interface10_0.imethod_0(interface11_0.imethod_5(jsonReader_0.Object_0.ToString()));
                return;
            }
            if (!string.IsNullOrEmpty(string_8) && (string_8[0] == '?'))
            {
                this.method_13(jsonReader_0, interface11_0, interface10_0, string_8);
            }
            else if (jsonReader_0.JsonToken_0 == JsonToken.StartArray)
            {
                this.method_10(jsonReader_0, interface11_0, string_8, interface10_0, xmlNamespaceManager_0);
            }
            else
            {
                this.method_8(jsonReader_0, interface11_0, interface10_0, string_8, xmlNamespaceManager_0);
            }
        }
コード例 #2
0
 private void method_13(JsonReader jsonReader_0, Interface11 interface11_0, Interface10 interface10_0, string string_8)
 {
     if (!(string_8 == "?xml"))
     {
         Interface10 interface3 = interface11_0.imethod_7(string_8.Substring(1), jsonReader_0.Object_0.ToString());
         interface10_0.imethod_0(interface3);
     }
     else
     {
         string str  = null;
         string str2 = null;
         string str3 = null;
         while (true)
         {
             if (!jsonReader_0.Read() || (jsonReader_0.JsonToken_0 == JsonToken.EndObject))
             {
                 Interface10 interface2 = interface11_0.imethod_6(str, str2, str3);
                 interface10_0.imethod_0(interface2);
                 return;
             }
             string str4 = jsonReader_0.Object_0.ToString();
             if (str4 == null)
             {
                 break;
             }
             if (str4 != "@version")
             {
                 if (!(str4 == "@encoding"))
                 {
                     if (!(str4 == "@standalone"))
                     {
                         break;
                     }
                     jsonReader_0.Read();
                     str3 = jsonReader_0.Object_0.ToString();
                 }
                 else
                 {
                     jsonReader_0.Read();
                     str2 = jsonReader_0.Object_0.ToString();
                 }
             }
             else
             {
                 jsonReader_0.Read();
                 str = jsonReader_0.Object_0.ToString();
             }
         }
         throw new JsonSerializationException("Unexpected property name encountered while deserializing XmlDeclaration: " + jsonReader_0.Object_0);
     }
 }
コード例 #3
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);
            }
        }
コード例 #4
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)));
                }
            }
        }
コード例 #5
0
        private void method_15(JsonReader jsonReader_0, Interface11 interface11_0, XmlNamespaceManager xmlNamespaceManager_0, Interface10 interface10_0)
        {
            string str;
            Func <Interface12, bool> func;

Label_0000:
            func = null;
            Class107  class2 = new Class107();
            JsonToken token  = jsonReader_0.JsonToken_0;

            switch (token)
            {
            case JsonToken.StartConstructor:
                str = jsonReader_0.Object_0.ToString();
                goto Label_0140;

            case JsonToken.PropertyName:
            {
                if ((interface10_0.XmlNodeType_0 == XmlNodeType.Document) && (interface11_0.Interface12_0 != null))
                {
                    throw new JsonSerializationException("JSON root object has multiple properties. The root object must have a single property in order to create a valid XML document. Consider specifing a DeserializeRootElementName.");
                }
                class2.string_0 = jsonReader_0.Object_0.ToString();
                jsonReader_0.Read();
                if (jsonReader_0.JsonToken_0 != JsonToken.StartArray)
                {
                    this.method_7(jsonReader_0, interface11_0, xmlNamespaceManager_0, class2.string_0, interface10_0);
                    break;
                }
                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, interface10_0);
                    num++;
                }
                if ((num == 1) && this.WriteArrayAttribute)
                {
                    if (func == null)
                    {
                        func = new Func <Interface12, bool>(class2.method_0);
                    }
                    Interface12 interface2 = interface10_0.Prop_0.OfType <Interface12>().Single <Interface12>(func);
                    this.method_11(interface2, interface11_0);
                }
                break;
            }

            case JsonToken.Comment:
                interface10_0.imethod_0(interface11_0.imethod_1((string)jsonReader_0.Object_0));
                break;

            default:
                switch (token)
                {
                case JsonToken.EndObject:
                case JsonToken.EndArray:
                    return;
                }
                throw new JsonSerializationException("Unexpected JsonToken when deserializing node: " + jsonReader_0.JsonToken_0);
            }
Label_0044:
            if ((jsonReader_0.JsonToken_0 == JsonToken.PropertyName) || jsonReader_0.Read())
            {
                goto Label_0000;
            }
            return;

Label_0140:
            if (!jsonReader_0.Read() || (jsonReader_0.JsonToken_0 == JsonToken.EndConstructor))
            {
                goto Label_0044;
            }
            this.method_7(jsonReader_0, interface11_0, xmlNamespaceManager_0, str, interface10_0);
            goto Label_0140;
        }