using System; using System.IO; using System.Text; using System.Xml; using System.Xml.Serialization; namespace TEAMModelOS.SDK.Helper.Common.XmlHelper { public class Json2Xml { [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.7.2612.0")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:ebay:apis:eBLBaseComponents")] public enum ItemSpecificSourceCodeType { /// ItemSpecific, /// Attribute, /// Product, /// CustomCode, } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.7.2612.0")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:ebay:apis:eBLBaseComponents")] public partial class NameValueListType { private string nameField; private string[] valueField; private ItemSpecificSourceCodeType sourceField; private bool sourceFieldSpecified; private System.Xml.XmlElement[] anyField; /// public string Name { get { return this.nameField; } set { this.nameField = value; } } /// [System.Xml.Serialization.XmlElementAttribute("Value")] public string[] Value { get { return this.valueField; } set { this.valueField = value; } } /// public ItemSpecificSourceCodeType Source { get { return this.sourceField; } set { this.sourceField = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool SourceSpecified { get { return this.sourceFieldSpecified; } set { this.sourceFieldSpecified = value; } } /// [System.Xml.Serialization.XmlAnyElementAttribute()] public System.Xml.XmlElement[] Any { get { return this.anyField; } set { this.anyField = value; } } } public class CustomItemSpecifics { public NameValueListType[] ItemSpecifics; } public class Item { public string Name { get; set; } public string Value { get; set; } public string[] RecommValues { get; set; } //public void DataTable2Entity(Item item, DataRow dr) { // item.Name=dr. //} } public static string ObjectToText(Object inObject, Type inType) { String XmlizedString = null; MemoryStream ms = new MemoryStream(); XmlSerializer xs = new XmlSerializer(inType); XmlTextWriter xmlTextWriter = new XmlTextWriter(ms, Encoding.UTF8); xs.Serialize(xmlTextWriter, inObject); ms = (MemoryStream)xmlTextWriter.BaseStream; XmlizedString = UTF8ByteArrayToString(ms.ToArray()); return XmlizedString; } private static String UTF8ByteArrayToString(Byte[] characters) { UTF8Encoding encoding = new UTF8Encoding(); String constructedString = encoding.GetString(characters); if (constructedString.Length > 0) { constructedString = constructedString.Substring(1); } return (constructedString); } public static Object TextToObject(string inText, Type inType) { try { if (string.IsNullOrEmpty(inText)) { return null; } else { XmlSerializer xs = new XmlSerializer(inType); MemoryStream ms = new MemoryStream(StringToUTF8ByteArray(inText)); XmlTextWriter xmlTextWriter = new XmlTextWriter(ms, Encoding.UTF8); return (Object)xs.Deserialize(ms); } } catch { return null; } } private static byte[] StringToUTF8ByteArray(string inText) { UTF8Encoding encoding = new UTF8Encoding(); Byte[] byteArray = encoding.GetBytes(inText); return byteArray; } } }