C# XML与Json之间相互转换实例详解
对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用http://json.codeplex.com。 XML转换为Json字符串 复制代码 代码如下: string xml = @"<?xml version=""1.0"" standalone=""no""?> <root> <person id=""1""> <name>Alan</name> <url>http://www.aspzz.cn</url> </person> <person id=""2""> <name>Louis</name> <url>http://www.aspzz.cn</url> </person> </root>"; 这是在代码中预定义的一个xml字符串。 复制代码 代码如下: mlDocument doc = new XmlDocument(); doc.LoadXml(xml); 然后将xml字符串读入到XML文档。 复制代码 代码如下: string jsonText = JsonConvert.SerializeXmlNode(doc); Console.WriteLine(jsonText); 然后通过Json.Net类库中专有的方法进行转换即可 运行结果为: Json字符串转换为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"" } ] } }"; 预定义的Json字符串如上 复制代码 代码如下: 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调用。 PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用: 在线JSON代码检验、检验、美化、格式化工具: JSON在线格式化工具: 在线XML/JSON互相转换工具: json代码在线格式化/美化/压缩/编辑/转换工具: 在线json压缩/转义工具: http://tools.aspzz.cn/code/json_yasuo_trans C语言风格/HTML/CSS/json代码格式化美化工具: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |