前言
對於這轉換其實很簡單,其中最重要的就是先要引用類庫。可以到官網進行下載引用http://json.codeplex.com。
前兩天學習了Jquery ajax提交Json后台處理文章鏈接為http://www.cnblogs.com/aehyok/archive/2013/05/18/3085499.html
XML轉換為Json字符串
string xml = @"<?xml version=""1.0"" standalone=""no""?> <root> <person id=""1""> <name>Alan</name> <url>http://www.google.com</url> </person> <person id=""2""> <name>Louis</name> <url>http://www.yahoo.com</url> </person> </root>";
這是在代碼中預定義的一個xml字符串。
XmlDocument 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調用。