怎么在ASP.NET中将XML转换为JSON

介绍

这篇文章将为大家详细讲解有关怎么在ASP。网中将XML转换为JSON,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

XML转JSON代码如下:

私有静态字符串XmlToJSON (xmlDoc XmlDocument),,

{,
,,,StringBuilder sbJSON=new StringBuilder (),,
,,,sbJSON.Append (“{“),
,,,xmlDoc XmlToJSONnode (sbJSON。DocumentElement,真的),,
,,,sbJSON.Append (“}”),
,,,返回sbJSON.ToString (),,
},
,
//,XmlToJSONnode:,输出一个XmlElement,可能的更高的array 
私有静态孔隙XmlToJSONnode (StringBuilder sbJSON, XmlElement节点,bool showNodeName),
{,
,,,如果(showNodeName),
,,,,,,,sbJSON.Append (“\ \”;“+ SafeJSON (node.Name) +“\ \”:“),,
,,,sbJSON.Append (“{“),
,,,//建立一个键-值pairs 排序列表;
,,,//,where ,关键是区分大小写的nodeName 
,,,//,,,,,,,,,值是一个字符串或XmlElement  ArrayList;
,,,//,这样我们知道节点名数组或不是只
,,,SortedList childNodeNames=new SortedList (),,
,
,,,//,在所有节点attributes 添加;
,,,如果(node.Attributes !=null),
,,,,,,,foreach (node.Attributes XmlAttribute attr),
,,,,,,,,,,,StoreChildNode (childNodeNames attr.Name attr.InnerText);,
,
,,,//,添加所有nodes 
,,,foreach (XmlNode cnode node.ChildNodes),
,,,{,
,,,,,,,如果(cnode XmlText),
,,,,,,,,,,,StoreChildNode (childNodeNames,“value" cnode.InnerText),,
,,,,,,,else if (cnode XmlElement),
,,,,,,,,,,,StoreChildNode (childNodeNames cnode。名字,cnode);,
,,,},
,
,,,//输出所有存储info 
,,,foreach (string childname childNodeNames.Keys),
,,,{,
,,,,,,,ArrayList alChild=(ArrayList) childNodeNames [childname];,
,,,,,,,如果(alChild。数==1),
,,,,,,,,,,,OutputNode (childname alChild [0], sbJSON,真的),,
,,,,,,,else 
,,,,,,,{,
,,,,,,,,,,,sbJSON.Append (“;\ \”;“+ SafeJSON (childname) +“\ \“:();“;
,,,,,,,,,,,孩子在alChild foreach(对象),
,,,,,,,,,,,,,,,OutputNode (childname、儿童、sbJSON假),,
,,,,,,,,,,,sbJSON.Remove (sbJSON。长度- 2,2),,
,,,,,,,,,,,sbJSON.Append (“;),“),,
,,,,,,,},
,,,},
,,,sbJSON.Remove (sbJSON。长度- 2,2),,
,,,sbJSON.Append (“;}“),
},
,
//,StoreChildNode:与每个nodeName 关联存储数据;
//,,,,,,,,,,,,,,,,,这样我们知道节点名数组或不是只
私有静态孔隙StoreChildNode (SortedList childNodeNames,字符串节点名、对象nodeValue),
{,
,,,//预处理XmlElement-s 收缩;
,,,如果(nodeValue XmlElement),
,,,{,
,,,,,,,//Convert & lt; aa> & lt;/aa>到“aa": null 
,,,,,,,//,,,,,,,,,& lt; aa> xx到“aa":“xx",
,,,,,,,XmlNode cnode=(XmlNode) nodeValue。,
,,,,,,,null

怎么在ASP.NET中将XML转换为JSON