zoukankan      html  css  js  c++  java
  • Xml与Json互相转


    先说一句,Newtonsoft.Json真的太强大了,非常巴适。
    1、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>";
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xml);
    
    string jsonstr = JsonConvert.SerializeXmlNode(doc);
    Console.WriteLine(jsonstr);
    =====================输出=========================
    {
        "?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"
                }
            ]
        }
    }
    

    2、Json转成Xml

    JObject jo = new JObject();
    jo.Add("appid", "wx2421b1c4370ec43b");
    jo.Add("attach", "zhifuceshi");
    
    //需要注意的是一定要给xml指定根结点,否则会抛出JSON root object has multiple properties.异常
    XmlDocument doc1 = JsonConvert.DeserializeXmlNode(jo.ToString(), "xml");
    
    Console.WriteLine(doc1.OuterXml);
    =====================输出=========================
    <root>
      <appid>wx2421b1c4370ec43b</appid>
      <attach>zhifuceshi</attach>
    </root>
    
  • 相关阅读:
    函数作业1
    函数、装饰器、迭代器、内置方法总练习题
    疑问
    装饰器
    文件练习题1,2
    内置函数练习题和总结
    GET和POST请求的区别
    HTTP请求方法
    HTTP之状态码
    HTTP之响应消息Response
  • 原文地址:https://www.cnblogs.com/xuxuzhaozhao/p/6549746.html
Copyright © 2011-2022 走看看