当前位置: 编程技术>.net/c#/asp.net
C# XML与Json之间相互转换实例详解
来源: 互联网 发布时间:2014-10-24
本文导语: 对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用http://json.codeplex.com。 XML转换为Json字符串 代码如下:string xml = @" ...
对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用http://json.codeplex.com。
XML转换为Json字符串
代码如下:
string xml = @"
Alan
http://www.
Louis
http://www.
";
这是在代码中预定义的一个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调用。