C# XML與Json之間的相互轉換

來源:互聯網
上載者:User

前言

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.