/// <summary>/// xml转json/// </summary>/// <param name="XML"></param>/// <returns></returns>publicstaticstringParseString(string XML){StringBuilder sb =newStringBuilder();string Status =string.Empty;
SortedDictionary<string,string> requestXML =GetInfoFromXml(XML);
sb.Append("{");foreach(KeyValuePair<string,string> k in requestXML){
sb.Append("\""+ k.Key +"\"");
sb.Append(":");if(k.Value.Contains("{\"")){
sb.Append(""+ k.Value +"");}else{
sb.Append("\""+ k.Value +"\"");}
sb.Append(",");}
sb.Append("}");return sb.ToString();}/// <summary>/// 把XML数据转换为SortedDictionary<string, string>集合/// </summary>/// <param name="strxml"></param>/// <returns></returns>publicstatic SortedDictionary<string,string>GetInfoFromXml(string xmlstring){
SortedDictionary<string,string> sParams =newSortedDictionary<string,string>();try{XmlDocument doc =newXmlDocument();
doc.LoadXml(xmlstring);XmlElement root = doc.DocumentElement;int len = root.ChildNodes.Count;for(int i =0; i < len; i++){string name = root.ChildNodes[i].Name;if(!sParams.ContainsKey(name)){
sParams.Add(name.Trim(), root.ChildNodes[i].InnerText.Trim());}}}catch(Exception ex){}return sParams;}
将对象属性转换为Hashtable
/// <summary>/// 将对象属性转换为Hashtable/// </summary>/// <param name="o"></param>/// <returns></returns>publicstaticHashtableToHashtable(Object o){Hashtable Parameters =newHashtable();Type t = o.GetType();
PropertyInfo[] pi = t.GetProperties(BindingFlags.Public | BindingFlags.Instance);foreach(PropertyInfo p in pi){MethodInfo mi = p.GetGetMethod();if(mi !=null&& mi.IsPublic){if(mi.Invoke(o,newobject[]{})!=null){if(Parameters.Contains(p.Name)){
Parameters.Remove(p.Name);}
Parameters.Add(p.Name, mi.Invoke(o,newobject[]{}));}}}return Parameters;}
将对象转换为xml
/// <summary>/// 输出XML/// </summary>/// <returns></returns>publicstaticstringParseXML(Hashtable Parameters){StringBuilder sb =newStringBuilder();ArrayList akeys =newArrayList(Parameters.Keys);
akeys.Sort();
sb.Append("<xml>");foreach(string k in akeys){string v =(string)Parameters[k];if(v !=null){
sb.Append("<"+ k +">"+ v +"</"+ k +">");}}
sb.Append("</xml>");return sb.ToString();}