diff --git a/components/editorControls/umbraco.editorControls.csproj b/components/editorControls/umbraco.editorControls.csproj index 4206304045..5005307577 100644 --- a/components/editorControls/umbraco.editorControls.csproj +++ b/components/editorControls/umbraco.editorControls.csproj @@ -349,6 +349,7 @@ + diff --git a/components/editorControls/userControlWrapper/SerializationHelper.cs b/components/editorControls/userControlWrapper/SerializationHelper.cs new file mode 100644 index 0000000000..abae40c3f6 --- /dev/null +++ b/components/editorControls/userControlWrapper/SerializationHelper.cs @@ -0,0 +1,34 @@ +using System; +using System.Text; +using System.Xml.Serialization; +using System.IO; +using System.Xml; + +namespace umbraco.editorControls.userControlWrapper +{ + public class SerializationHelper + { + public static object ValueFromXmlString(object value, Type type) + { + XmlSerializer ser = new XmlSerializer(value.GetType()); + StringReader strRdr = new StringReader(value.ToString()); + XmlTextReader xmlRdr = new XmlTextReader(strRdr); + object obj = ser.Deserialize(xmlRdr); + xmlRdr.Close(); + strRdr.Close(); + return obj; + } + + public static string ValueToXmlString(object value) + { + MemoryStream str = new MemoryStream(); + XmlSerializer ser = new XmlSerializer(value.GetType()); + ser.Serialize(str, value); + str.Seek(0, System.IO.SeekOrigin.Begin); + XmlDocument doc = new XmlDocument(); + doc.Load(str); + str.Close(); + return doc.InnerXml; + } + } +}