700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > xml转换为json格式时 如何将指定节点转换成数组 Json.NET

xml转换为json格式时 如何将指定节点转换成数组 Json.NET

时间:2021-02-22 22:45:14

相关推荐

xml转换为json格式时 如何将指定节点转换成数组 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='/projects/json'

需要转换为数组的节点加上属性

json:Array='true'

如下所示

<root xmlns:json='/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>", "<RecordArrayjson:Array='true'>");

参考:

/json/help/html/ConvertXmlToJsonForceArray.htm

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。