C# XML与Json之间相互转换实例详解
来源:互联网 发布:php设计表格 编辑:程序博客网 时间:2024/05/07 12:03
对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用http://json.codeplex.com。
XML转换为Json字符串
复制代码 代码如下:
string xml = @"<?xml version=""1.0"" standalone=""no""?>
<root>
<person id=""1"">
<name>Alan</name>
<url>http://www.jb51.net</url>
</person>
<person id=""2"">
<name>Louis</name>
<url>http://www.jb51.net</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
第一种格式的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调用。
0 0
- C# XML与Json之间相互转换实例详解
- C# XML与Json之间相互转换实例详解
- 使用 XStream实现JavaBean 与 XML/JSON 之间相互转换
- javaBean与xml、json之间的相互转换
- XStream在JavaBean与XML/JSON 之间相互转换
- 用php实现xml与json之间的相互转换
- 用php实现xml与json之间的相互转换
- Xml字符串与C#对象之间相互转换
- json/java对象/xml之间相互转换
- xml,json,对象 之间的相互转换
- Json、JavaBean、Xml之间的相互转换
- Java与JSON之间相互转换-1
- Java与JSON之间相互转换-2
- Json-lib实现json,java对象,xml之间相互转换 .
- Json-lib 实现 json,java 对象,xml 之间相互转换
- jaxb2与xml之间相互转换
- java对象与xml 之间相互转换
- jaxb2与xml之间相互转换
- 一个Oracle循环例子
- 积跬步,聚小流------div模拟select,让select美美哒
- 用Quartz处理定时执行的任务
- jdk中path和classpath的区别
- BW系列基础
- C# XML与Json之间相互转换实例详解
- 励精图治---Concurrency---如何创建多线程
- CocoaPods pod install/pod update更新慢
- hdu 素数环1016
- [LeedCode OJ]#121 Best Time to Buy and Sell Stock
- 离屏Canvas——制作放大镜效果
- package 和 import 关键字
- android sdk 镜象站点
- Spring MVC之@RequestMapping 详解