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));
}
}
}
}