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

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

  • 相关阅读:
    JAVA 一个接口多个实现类
    关于Web服务器
    美团买菜IOS版设备风控浅析与算法还原
    阿里App防Bot新版AliTigerTally方案浅析与算法还原1
    使用php的openssl_encrypt和python的pycrypt进行跨语言的对称加密和解密问题
    一个把人民币小写转换为大写中文的方法
    《重构》代码坏味道
    git 合并分支
    java中SPI机制 代码改变世界
    echo print print_r的区别
  • 原文地址:https://www.cnblogs.com/mili3/p/4500176.html
Copyright © 2011-2022 走看看