2019-3-1-C#-json-转-xml-字符串
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
C# json 转 xml 字符串
|
lindexi
|
2019-03-01 09:20:24 +0800
|
2019-1-16 19:5:51 +0800
|
C#
|
本文告诉大家如何将 json 转 xml 或将 xml 转 json 字符串
首先需要安装 Newtonsoft.Json 库,打开 VisualStudio 2019 新建一个 dotnet core 项目,然后右击编译 csproj 输入下面的代码
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
</ItemGroup>
尝试创建一个类用来转换为 xml 请看代码
public class Foo
{
public string Name { get; set; } public string Blog { get; set; }
}
将类转换为 xml 的代码
var foo = new Foo()
{
Name = "lindexi",
Blog = "https://blog.csdn.net/lindexi_gd",
}; var xmlSerializer = new XmlSerializer(typeof(Foo));
var str = new StringBuilder(); xmlSerializer.Serialize(new StringWriter(str), foo); var xml = str.ToString();
Console.WriteLine(xml);
现在运行就可以看到下面代码
<?xml version="1.0" encoding="utf-16"?>
<Foo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>lindexi</Name>
<Blog>https://blog.csdn.net/lindexi_gd</Blog>
</Foo>
这里的 encoding 是 utf-16 因为 StringWriter 使用的是 Unicode 如果需要修改为 utf-8 需要修改代码,但是本文就不在这里说
xml 转 json 字符串
从 xml 转 json 需要将 xml 字符串创建 XmlDocument 才可以
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
通过下面代码就可以将 XmlDocument 转 json 字符串
string text = JsonConvert.SerializeXmlNode(doc);
运行代码可以看到转换的代码
{"?xml":{"@version":"1.0","@encoding":"utf-16"},"Foo":{"@xmlns:xsd":"http://www.w3.org/2001/XMLSchema","@xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","Name":"lindexi","Blog":"https://blog.csdn.net/lindexi_gd"}}
json 转 xml 字符串
在上面已经转换出 json 可以通过下面代码将 json 转 xml 字符串
doc = (XmlDocument) JsonConvert.DeserializeXmlNode(text);
如果需要将 doc 做字符串输出,可以使用 doc.InnerXml 转字符串
doc = (XmlDocument) JsonConvert.DeserializeXmlNode(text);
Console.WriteLine("json转xml");
Console.WriteLine(doc.InnerXml);
运行软件可以看到下面代码
<?xml version="1.0" encoding="utf-16"?><Foo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Name>lindexi</Name><Blog>https://blog.csdn.net/lindexi_gd</Blog></Foo>
下面是全部的代码
class Program
{
static void Main(string[] args)
{
var foo = new Foo()
{
Name = "lindexi",
Blog = "https://blog.csdn.net/lindexi_gd",
}; var xmlSerializer = new XmlSerializer(typeof(Foo));
var str = new StringBuilder(); xmlSerializer.Serialize(new StringWriter(str), foo); var xml = str.ToString();
Console.WriteLine(xml); XmlDocument doc = new XmlDocument();
doc.LoadXml(xml); string text = JsonConvert.SerializeXmlNode(doc);
Console.WriteLine("转换json");
Console.WriteLine(text); doc = (XmlDocument) JsonConvert.DeserializeXmlNode(text);
Console.WriteLine("json转xml");
Console.WriteLine(doc.InnerXml); Console.Read();
}
} public class Foo
{
public string Name { get; set; } public string Blog { get; set; }
}
运行可以看到下面方法
<?xml version="1.0" encoding="utf-16"?>
<Foo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>lindexi</Name>
<Blog>https://blog.csdn.net/lindexi_gd</Blog>
</Foo>
转换json
{"?xml":{"@version":"1.0","@encoding":"utf-16"},"Foo":{"@xmlns:xsd":"http://www.w3.org/2001/XMLSchema","@xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","Name":"lindexi","Blog":"https://blog.csdn.net/lindexi_gd"}}
json转xml
<?xml version="1.0" encoding="utf-16"?><Foo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Name>lindexi</Name><Blog>https://blog.csdn.net/lindexi_gd</Blog></Foo>
Converting between JSON and XML
代码 https://gitee.com/lindexi/lindexi_gd/tree/dev/LapouRairpaltearwou
2019-3-1-C#-json-转-xml-字符串的更多相关文章
- C# json 转 xml 字符串
本文告诉大家如何将 json 转 xml 或将 xml 转 json 字符串 首先需要安装 Newtonsoft.Json 库,打开 VisualStudio 2019 新建一个 dotnet cor ...
- 使用Visual Studio 快速把 Json,Xml 字符串创建为一个实体类
- Beego 输出数据格式JSON、XML、JSONP
JSON.XML.JSONP beego 当初设计的时候就考虑了 API 功能的设计,而我们在设计 API 的时候经常是输出 JSON 或者 XML 数据,那么 beego 提供了这样的方式直接输出: ...
- js压缩xml字符串,将xml字符串转换为xml对象,将xml对象转换为json对象
/** * 压缩xml字符串 */ function compressXmlStr(str){ var prefix, suffix; var i = str.indexOf("\r&quo ...
- Java JSON、XML文件/字符串与Bean对象互转解析
前言 在做web或者其他项目中,JSON与XML格式的数据是大家经常会碰见的2种.在与各种平台做数据对接的时候,JSON与XML格式也是基本的数据传递格式,本文主要简单的介绍JSON/XML ...
- 字符串json转换为xml xml转换json
原文:字符串json转换为xml xml转换json // To convert an XML node contained in string xml into a JSON string XmlD ...
- xml字符串转xml对象,xml对象转json对象
xml字符串转xml对象: function loadXml(str) { if (str == null) { return null; } var doc = str; try{ doc = cr ...
- xml字符串转json字符串
XML字符串转JSON字符串网上的方法很多,这里主要推荐两种: 1.使用org.json包 jar地址:http://mvnrepository.com/artifact/org.json/json ...
- .NET Core采用的全新配置系统[6]: 深入了解三种针对文件(JSON、XML与INI)的配置源
物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...
- iOS - 分析JSON、XML的区别和解析方式的底层是如何实现的(延伸实现原理)
<分析JSON.XML的区别,JSON.XML解析方式的底层是如何实现的(延伸实现原理)> (一)JSON与XML的区别: (1)可读性方面:基本相同,XML的可读性比较好: (2)可扩展 ...
随机推荐
- SQL Server性能调优--优化建议(一)
序言 当数据量小的时候,SQL优化或许无关紧要,但是当数据量达到一定量级之后,性能优化将变得至关重要,甚至决定系统成败. 定位慢查询 查询编译以来cpu耗时总量最多的前50条 --查询编译以来 cpu ...
- ACM 求全排列(字典序、邻位对换、递增进位制数,递减进位制数)
字典序:(联合康托展开就也可以按照中介数求) 邻位对换.递增进位制数,递减进位制数:具体的实现和算法讲解如下: 代码..C++版的实现并不好..因为是挨个向后找的,如果K很大的时候会超时,不过...思 ...
- E. You Are Given Some Strings...
E. You Are Given Some Strings... AC自动机 求一个串$t$中包含子串$s_{i}+s_{j}$的个数. 可以正反跑两遍AC自动机 正着跑,表示$s_{i}$结束,反正 ...
- 登陆一个系统时,前端js实现的验证,记住密码等功能
记住密码部分: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <m ...
- (转)CBC模式和ECB模式解读
一 什么是CBC模式 CBC模式的全称是Cipher Block Chaining模式(密文分组链接模式),之所以叫这个名字,是因为密文分组像链条一样相互连接在一起. 在CBC模式中,首先将明文分组与 ...
- javascript处理json字符串
字符串转JSON格式 var obj = JSON.parse(json字符串); 判断字段值是否存在,返回true或false obj.hasOwnProperty("error" ...
- vue-element-template模板项目使用记录(持续更新)
1. npm 使用注意事项: a. node.js 使用 v8.16.0 版本,使用 v10 版本会有各种莫名其妙的报错 b. 开箱先改淘宝镜像: npm config set registry ht ...
- 阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第3节 Calendar类_1_Calendar类介绍_获取对象的方式
Calendar.getInstance()返回的就是Calendar的子类对象.GregorianCalendar 说明Calendar类重写了toSting的方法 时区亚洲的上海
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_1_递归概念&分类&注意事项
a方法里面调用自己,但是没有停止的条件 方法没有停止的条件. 栈内存溢出的异常. 只有栈,没有堆内存 先执行main方法压栈执行 main方法里面调用a方法.a方法就会压栈 改成20000
- ETCD分布式锁实现选主机制(Golang实现)
ETCD分布式锁实现选主机制(Golang) 为什么要写这篇文章 做架构的时候,涉及到系统的一个功能,有一个服务必须在指定的节点执行,并且需要有个节点来做任务分发,想了半天,那就搞个主节点做这事呗,所 ...