前言
對於這轉換其實很簡單,其中最重要的就是先要引用類庫。可以到官網進行下載引用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調用。