使用Newtonsoft.Json可将XML转为JSON,先安装包,再用XmlDocument加载XML,通过JsonConvert.SerializeXmlNode转换,支持忽略根节点和数组识别。

在C#中将XML内容转换为JSON格式,可以使用.NET内置的 System.Xml 和第三方库如 Newtonsoft.Json(也叫Json.NET)来实现。下面介绍一种常见且简单的方法。
1. 安装 Newtonsoft.Json
你需要先通过 NuGet 安装 Newtonsoft.Json 库。可以在项目目录下运行以下命令:
Install-Package Newtonsoft.Json
或者使用 .NET CLI:
dotnet add package Newtonsoft.Json
2. 使用 XmlDocument 和 JsonConvert 转换 XML 到 JSON
示例代码如下:
using System;using System.Xml;using Newtonsoft.Json;class Program{static void Main(){// 示例 XML 字符串string xml = @"张三30北京";
XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); // 转换为 JSON 字符串 string json = JsonConvert.SerializeXmlNode(doc); Console.WriteLine(json);}
}输出结果为:
{ "person": { "name": "张三", "age": "30", "city": "北京" }}
3. 注意事项与选项
如果想去掉外层包装对象(如 "person" 根节点),可以使用 WriteArrayAttribute 或调整序列化选项:
string json = JsonConvert.SerializeXmlNode(doc, Newtonsoft.Json.Formatting.None, true);
第二个参数控制格式化,第三个参数 true 表示忽略根元素(仅当根元素唯一时有效)。
你也可以处理更复杂的 XML,比如包含属性、数组等:
张三 李四
这种结构会自动转换为 JSON 数组,前提是节点名相同。
4. 总结
C# 中将 XML 转为 JSON 最简单的方式是:用 XmlDocument 加载 XML 内容用 JsonConvert.SerializeXmlNode() 转成 JSON 字符串借助 Newtonsoft.Json 提供的强大序列化支持基本上就这些,不复杂但容易忽略细节,比如根节点处理和数组识别。
以上就是C# 如何将xml内容转换为JSON格式的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1441036.html
微信扫一扫
支付宝扫一扫