• C# XML与Json之间的相互转换


    前言

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

    前两天学习了Jquery ajax提交Json后台处理文章链接为http://www.cnblogs.com/aehyok/archive/2013/05/18/3085499.html

    XML转换为Json字符串  

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

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

                XmlDocument 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);

    结果为

    总结

     调用很简单,只要将传递的XML或者Json字符串格式搞正确,那么得到想要的结果就不难。代码可以直接Copy调用。

  • 相关阅读:
    C++ 面向对象编程3 封装 继承 多态
    C++ 面向对象编程2
    C++ 面向对象编程1
    C++开发环境和基础语法
    RTOS概述
    STM32F4 窗口看门狗(WWDG)
    STM32F407 独立看门狗 (IWDG)
    DHT11温湿度传感器
    Ubuntu20.04安装、配置、卸载QT5.9.9与QT creator以及第一个编写QT程序
    Linux,Ubuntu20.04LTS环境下安装JDK1.8和IDEA2021
  • 原文地址:https://www.cnblogs.com/aehyok/p/3090600.html
Copyright © 2020-2023  润新知