Пример #1
0
        public static void JSON2XML()
        {
            string json = @"{
  ""header"": ""myheader"",
  ""transaction"": {
    ""date"": ""2019-09-24"",
    ""items"": [
      {
        ""number"": ""123"",
        ""unit"": ""EA"",
        ""qty"": 6
      },
      {
        ""number"": ""456"",
        ""unit"": ""CS"",
        ""qty"": 4
      }
    ]
  }
}";

            using (var r = ChoJSONReader.LoadText(json))
            {
                var x = r.FirstOrDefault();
                //Console.WriteLine(x.Dump());
                Console.WriteLine(ChoXmlWriter.ToText(x, new ChoXmlRecordConfiguration().Configure(c =>
                {
                    c.RootName = "Root1";
                    //c.DoNotEmitXmlNamespace = true;
                    //c.TurnOffXmlFormatting = true;
                })));
            }
        }
Пример #2
0
        static void QuickDynamicTest()
        {
            ArrayList al = new ArrayList();

            al.Add(1);
            al.Add("abc");

            List <int> lint = new List <int>()
            {
                1, 2
            };

            Hashtable ht = new Hashtable();

            ht.Add(1, "abc");

            ChoSerializableDictionary <int, string> dict = new ChoSerializableDictionary <int, string>();

            dict.Add(1, "abc");

            List <ExpandoObject> objs = new List <ExpandoObject>();
            dynamic rec1 = new ExpandoObject();

            rec1.Id       = 1;
            rec1.Name     = "Mark";
            rec1.IsActive = true;
            rec1.Message  = new ChoCDATA("Test");
            rec1.Array    = al;
            rec1.Lint     = lint;
            //rec1.HT = ht;
            rec1.Dict = dict;
            objs.Add(rec1);

            dynamic rec2 = new ExpandoObject();

            rec2.Id       = 2;
            rec2.Name     = "Jason";
            rec2.IsActive = true;
            rec2.Message  = new ChoCDATA("Test");
            objs.Add(rec2);

            StringBuilder sb = new StringBuilder();

            using (var parser = new ChoXmlWriter(sb).WithXPath("Employees/Employee"))
            {
                parser.Write(objs);
            }
            Console.WriteLine(sb.ToString());

            var a      = ChoXmlReader.LoadText(sb.ToString()).ToArray();
            var config = new ChoXmlRecordConfiguration();

            //config.Configure(c => c.RootName = "Root");
            Console.WriteLine(ChoXmlWriter.ToText(a.First(), config));
        }