using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Data; using System.Text; using System.Xml; namespace TEAMModelOS.SDK.Helper.Common.XmlHelper { public class XmlAndJson { /// /// 返回指定节点下信息的JSON格式字符串 /// /// xml字符串 /// 节点名称,应从根节点开始 /// public static string XML2Json(string str, string nodename) { XmlDocument xmldoc = new XmlDocument(); xmldoc.LoadXml(str); XmlNode node = xmldoc.SelectSingleNode(nodename); string result = System.Text.Json.JsonSerializer.Serialize(node); return result; } public static string Json2XML(string str) { XmlDocument xml = System.Text.Json.JsonSerializer.Deserialize(str); string result = xml.OuterXml; return result; } public static string GetCustomItemSpecifics(string str) { DataTable dt = JsonConvert.DeserializeObject(str); List nvl = new List(); foreach (DataRow dr in dt.Rows) { Json2Xml.NameValueListType nv = new Json2Xml.NameValueListType(); string sName = dr["Name"].ToString(); string sValue = dr["Value"].ToString(); if (sName != string.Empty && sValue != string.Empty) { nv.Name = sName; nv.Value = new string[] { sValue }; nvl.Add(nv); } } if (nvl.Count == 0) { return string.Empty; } else { Json2Xml.CustomItemSpecifics t = new Json2Xml.CustomItemSpecifics(); t.ItemSpecifics = nvl.ToArray(); return Json2Xml.ObjectToText(t, typeof(Json2Xml.CustomItemSpecifics)); } } } }