当前位置: 移动技术网 > IT编程>开发语言>c# > C# XML与Json之间相互转换实例详解

C# XML与Json之间相互转换实例详解

2019年07月18日  | 移动技术网IT编程  | 我要评论
对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用http://json.codeplex.com。 xml转换为json字符串   复制代码

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

xml转换为json字符串  

复制代码 代码如下:

string xml = @"<?xml version=""1.0"" standalone=""no""?>
                            <root>
                              <person id=""1"">
                              <name>alan</name>
                              <url>//www.jb51.net</url>
                              </person>
                              <person id=""2"">
                              <name>louis</name>
                              <url>//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调用。

ps:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线json代码检验、检验、美化、格式化工具:

json在线格式化工具:

在线xml/json互相转换工具:

json代码在线格式化/美化/压缩/编辑/转换工具:

在线json压缩/转义工具:

c语言风格/html/css/json代码格式化美化工具:

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网