好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#中使用JSON.NET实现JSON、XML相互转换

官方 JSON.NET 地址
http://james.newtonking.com/pages/json-net.aspx

XML TO 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>" ;

 

XmlDocument doc = new XmlDocument();

doc.LoadXml(xml);

 

string jsonText = JsonConvert.SerializeXmlNode(doc);

//{

// "?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 TO XML

?

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""

    }

   ]

  }

}" ;

 

XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(json);

// <?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>

DEMO:JSON TO XML

?

string json_str = "{\"a\":\"a\",\"b\":\"b\"}" ;

//json 的字符串需要按照这个格式 书写,否则会报错

string json = @"{

  ""?xml"": {

   ""@version"": ""1.0"",

   ""@standalone"": ""no""

  },

  ""root"":" + json_str + "}";

 

if (! string .IsNullOrEmpty(json))

{

   XmlDocument doc = JsonConvert.DeserializeXmlNode(json);

   

}

dy("nrwz");

查看更多关于C#中使用JSON.NET实现JSON、XML相互转换的详细内容...

  阅读:76次