原XML

<response><itemList><item><number>5</number></item></itemList></response>

不做处理,转成json

{"response":{"itemList":{"item":{"number":"5"}}}}

实际上​​item​​为集合对象,但是在item节点下只有一个数据的时候,默认转换成了对象而非数组

希望转成下面的json

{"response":{"itemList":{"item":[{"number":"5"}]}}}

需要为​​item​​加上特性

//取得item节点
var node = doc.ChildNodes.Item(0).ChildNodes.Item(0).ChildNodes.Item(0);

var attribute = doc.CreateAttribute("json", "Array", "http://james.newtonking.com/projects/json");
attribute.InnerText = "true";
node.Attributes.Append(attribute);

示例代码

​XMLToJsonTest​