先说一句,Newtonsoft.Json
真的太强大了,非常巴适。
1、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>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
string jsonstr = JsonConvert.SerializeXmlNode(doc);
Console.WriteLine(jsonstr);
=====================输出=========================
{
"?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"
}
]
}
}
2、Json转成Xml
JObject jo = new JObject();
jo.Add("appid", "wx2421b1c4370ec43b");
jo.Add("attach", "zhifuceshi");
//需要注意的是一定要给xml指定根结点,否则会抛出JSON root object has multiple properties.异常
XmlDocument doc1 = JsonConvert.DeserializeXmlNode(jo.ToString(), "xml");
Console.WriteLine(doc1.OuterXml);
=====================输出=========================
<root>
<appid>wx2421b1c4370ec43b</appid>
<attach>zhifuceshi</attach>
</root>