xml转换为json格式时,如何将指定节点转换成数组 Json.NET
使用Json.NET转换xml成json时,如果xml只有单个节点,但json要求是数组形式[],
JsonConvert.SerializeXmlNode
并不能自动识别
示例如下:
RecordArray要求是数组格式
<root>
<Record>
</Record>
<RecordArray>
<a>1</a>
<b>2</b>
</RecordArray>
</root>
转换后的json不能满足要求
{
"root": {
"Record": "
",
"RecordArray": {
"a": "1",
"b": "2"
}
}
}
解决办法
查阅资料后发现很简单
xml根节点需要加上 属性
xmlns:json='http://james.newtonking.com/projects/json'
需要转换为数组的节点加上属性
json:Array='true'
如下所示
<root xmlns:json='http://james.newtonking.com/projects/json'>
<Record>
</Record>
<RecordArray json:Array='true' >
<a>1</a>
<b>2</b>
</RecordArray>
</root>
转换后的json可以满足要求了
{
"root": {
"Record": "",
"RecordArray": [
{
"a": "1",
"b": "2"
}
]
}
}
xml添加属性:
添加属性的时候,可以直接在创建XmlElment的时候,通过XmlElement的SetAttribute来为节点创建属性,或者是创建
一个XmlAttribute实例:XmlAttribute xmlArr=XmlDocument.CreateAttribute("属性值"),然后通过XmlNode的
Attributes.append(XmlArribute)来添加
也可以string字符替换(只适用于没重复节点的xml)
xmlInfo = xmlInfo.Replace("<RecordArray>", "<RecordArray json:Array='true'>");
参考:
https://www.newtonsoft.com/json/help/html/ConvertXmlToJsonForceArray.htm
xml转换为json格式时,如何将指定节点转换成数组 Json.NET的更多相关文章
- json.net xml转换为json格式时,如何将指定节点转换成数组
using System.Xml.Linq; using Newtonsoft.Json; Response.ContentType = "application/json"; X ...
- 【Spring Boot】Spring Boot之利用Logstash将日志转换成以JSON的格式存储和输出
一.Logstash的作用 Logstash是一个完全开源的工具,它可以对日志进行收集.过滤,能非常方便地将日志转换成以JSON的格式存储和输出,并将其存储供以后使用. 二.整合Logstash的步骤 ...
- JSON详解以及可以把javabean转换成json串的json-lib应用
JSON 1. json是什么 它是js提供的一种数据交换格式! 2. json的语法 {}:是对象! 属性名必须使用双引号括起来!单引不行!!! 属性值:null,数值,字符串,数组:使用[]括起来 ...
- php日期转时间戳,指定日期转换成时间戳
写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储.处理方便,但 是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么 ...
- xml转换成数组array
直接上代码,成功转换 if($data){ //返回来的是xml格式需要转换成数组再提取值,用来做更新 $startnum = strpos($data,"<xml>" ...
- android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...
- js 判断是否为数组的方式 及 类数组转换成数组格式
1. 判断是否为数组的通用方式 Object.prototype.toString.call(o)=='[object Array]' 其他方式: typeof , instanceof, ary ...
- PHP csv文件内容转成数组/Json
$lines = array_map('str_getcsv', file($filePath));; $result = array(); $headers = null; if (count($l ...
- XML转换成数组方法
<?php function xmlToArray2($xml) { // 将XML转为array $array_data = json_decode(json_encode(simplexml ...
随机推荐
- Odoo 开源微信小程序商城模块
详见:http://oejia.net/blog/2018/09/13/oejia_weshop_about.html oejia_weshop Odoo 微信小程序商城模块 oejia_weshop ...
- 看完我身边前卫时尚女孩的手机 这几款APP强烈推荐
爱美之心,人皆有之,爱美是所有人生追求里最有价值的生活状态,美是一种能力,更是一种修养,懂得打扮自己的女人更受欢迎 因为她们懂得什么是美.想要变美的女孩们不要着急,下面几款爱美工具定会让你一见钟情. ...
- 如何搭建基于C#和 Appium 的 Android自动测试环境
本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 如果想做手机端的自动化测试,Appium是首选的测试框架,因为网上使 ...
- Web API 持续集成:PostMan+Newman+Jenkins(图文讲解)
本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 上篇文章我们已经完成了API测试工具选型,接下来是一系列周期性的开发 ...
- iOS---------获取当前年份
NSDate * senddate=[NSDate date]; NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init]; [d ...
- MySQL安装之yum安装
转载来源:https://www.cnblogs.com/brianzhu/p/8575243.html 1. 下载并安装MySQL官方的 Yum Repository 1 [root@BrianZh ...
- K60用IRA通过j-link下载失败,解决方法
K60在用飞思卡尔原厂的例程时,例程编译时没有问题,但是烧写时不成功,出现以下提示,请问该如何解决这个问题?提示1.Miss or malformed flash loader specificati ...
- 工具资源系列之给虚拟机装个ubantu
前文我们已经讲解了如何在 mac 系统上安装虚拟机软件,这节我们接着讲解如何利用虚拟机安装 Ubuntu 镜像. 安装镜像的大致步骤基本相同,只不过是配置项略显不同而已,如果需要安装其他系统镜像,请参 ...
- sql 排序函数ROW_NUMBER分页返回数据
分页从数据库返回一张表的某些条数据 假设我需要查询 系统表 sys.all_columns中的数据,每次查询10条 第一次查询第1-10条数据 第二次查询第11-20条数据 第三次查询第21-30条数 ...
- web安全基础第一天
编码:url编码 base64编码:末尾有俩个==号 md5加密:16位或者32位 1.whois查询 :站长邮箱,联系人,备案 旁站c段&子域名. ( 大数据平台和bing接口查询 :Zo ...