您的位置:首页 > Web前端 > JavaScript

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

2015-08-24 14:34 666 查看
对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用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调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: