使用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

最新文章

  1. COM技术の组件
  2. winform 绘制label 中文字 - 摘
  3. c#中 HttpContext作用(一)【转】
  4. 使用PHP把下划线分隔命名的字符串 转换成驼峰式命名方式 , 把下划线后面的第一个字母变成大写
  5. hdu4521 小明系列的问题——小明序列(LIS变种 (段树+单点更新解决方案))
  6. JDK1.8源码阅读系列之三:Vector
  7. win7 wifi热点设置
  8. 机器学习之--线性回归sigmoid函数分类
  9. UICollectionView在初始化的时候移动到某个距离
  10. 中文字符串和UTF-8编码字符串相互转换
  11. Appium1.6 定位iOS元素和操作元素
  12. 设置adb server的端口号
  13. [Android Pro] 终极组件化框架项目方案详解
  14. UVa 1602 网格动物(回溯)
  15. XeLaTeX下如何以原大小显示PNG
  16. EMC检测标准
  17. 一次Win10安装体验
  18. Bootstrap学习笔记(四)
  19. html_parser.py
  20. python的模块itsdangerous

热门文章

  1. harris角点检测的简要总结
  2. Android远程桌面助手(B1391)
  3. python使用rabbitMQ介绍三(发布订阅模式)
  4. c#核心基础 - 浅谈 c# 中的特性 Attribute)
  5. Jar 初步
  6. mysql之limit使用
  7. Java基础系列--09_集合2
  8. Java jar包启动脚本
  9. springboot 定时任务
  10. (n)e(m)