C# XML与Json之间相互转换实例详解
C# XML与Json之间相互转换实例详解
发布时间:2016-12-28 来源:查字典编辑
摘要:对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用http://json.codeplex.com。XML转换为Js...

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

XML转换为Json字符串

复制代码 代码如下:

string xml = @"<"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类库中专有的方法进行转换即可

运行结果为:

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

Json字符串转换为XML

第一种格式的Json字符串

复制代码 代码如下:

string json = @"{

""": {

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

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

第二种格式的Json字符串

复制代码 代码如下:

string json_str = "{"a":"a","b":"b"}";

string json1 = @"{

""": {

""@version"": ""1.0"",

""@standalone"": ""no""

},

""root"":" + json_str + "}";

同理进行调用

复制代码 代码如下:

XmlDocument doc2 = JsonConvert.DeserializeXmlNode(json1);

Console.WriteLine(doc2.OuterXml);

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

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

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

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

http://tools.jb51.net/code/json

JSON在线格式化工具:

http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:

http://tools.jb51.net/code/xmljson

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

http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:

http://tools.jb51.net/code/json_yasuo_trans

C语言风格/HTML/CSS/json代码格式化美化工具:

http://tools.jb51.net/code/ccode_html_css_json

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类