zoukankan      html  css  js  c++  java
  • C# XML与Json之间相互转换实例详解

    对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用http://json.codeplex.com。

    XML转换为Json字符串 

    string xml = @"<?xml version=""1.0"" standalone=""no""?>
                                <root>
                                  <person id=""1"">
                                  <name>Alan</name>
                                  <url>http://www.jb51.net</url>
                                  </person>
                                  <person id=""2"">
                                  <name>Louis</name>
                                  <url>http://www.jb51.net</url>
                                  </person>
                                </root>";

    这是在代码中预定义的一个xml字符串。

    mlDocument doc = new XmlDocument();
                doc.LoadXml(xml);

    然后将xml字符串读入到XML文档。

    string jsonText = JsonConvert.SerializeXmlNode(doc);
                Console.WriteLine(jsonText);

    然后通过Json.Net类库中专有的方法进行转换即可。

    Json字符串转换为XML

    第一种格式的Json字符串

    string json = @"{
                                  ""?xml"": {
                                    ""@version"": ""1.0"",
                                    ""@standalone"": ""no""
                                  },
                                  ""root"": {
                                    ""person"": [
                                      {
                                        ""@id"": ""1"",
                                        ""name"": ""Alan"",
                                        ""url"": ""http://www.google.com""
                                      },
                                      {
                                        ""@id"": ""2"",
                                        ""name"": ""Louis"",
                                        ""url"": ""http://www.yahoo.com""
                                      }
                                    ]
                                  }
                                }";

    预定义的Json字符串如上

    同理调用Json.Net类库中的方法

     XmlDocument doc1 = JsonConvert.DeserializeXmlNode(json);
    Console.WriteLine(doc1.OuterXml);

     第二种格式的Json字符串

    string json_str = "{\"a\":\"a\",\"b\":\"b\"}";
                string json1 = @"{
                  ""?xml"": {
                    ""@version"": ""1.0"",
                    ""@standalone"": ""no""
                  },
                    ""root"":" + json_str + "}";

    同理进行调用

    XmlDocument doc2 = JsonConvert.DeserializeXmlNode(json1);
    Console.WriteLine(doc2.OuterXml);

  • 相关阅读:
    学习Asp.Net经常会用到的函数集
    string.Format 格式化时间,货币
    sqlite相关
    sql常用判断语句
    ToString() 格式 用法大全 保留 两位 小数
    一些常用短代码,页面缓存啥的
    判断iE并创建A标签
    Java学习之数组1(1.数组的声明;2.元素为引用数据类型的数组;3.关于main方法里的String[] args;4.数组排序;5.数3退1 数组算法,(用数组模拟链表);6数组查找之二分法;7数组的拷贝)
    Java学习之异常处理()
    Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与LinkedHashSet类))
  • 原文地址:https://www.cnblogs.com/Nicolasap/p/5586691.html
Copyright © 2011-2022 走看看