Documentation > CMS Template API Library > DataContractSerializer > SerializeXml(Object)
SerializeXml
WARNING Experimental. It could change in a future release. Use at your own risk. Define a class that uses [DataContract], [DataMember], and [EnumMember] tags and you can then serialize an instance of that class to XML with this method Use the Name property in the DataMember to use a name that is different from the property name -- [DataContract(Name="MySpecialName")] Use the Namespace in the DataContract to use a namespace that is custom for XML -- [DataContract(Namespace = "MySpecialNamespace")]
public System.String SerializeXml(Object)
Parameters
| Name | Description | Type |
|---|---|---|
| obj | System.Object |
Code Example
C#
private static string ReturnSerializedData(DataType enumDataType, object SerializeData)
{
string szRet = string.Empty;
switch (enumDataType)
{
case DataType.JSON:
szRet = CrownPeak.CMSAPI.Experimental.DataContractSerializer.SerializeJson(SerializeData);
break;
case DataType.XML:
szRet = CrownPeak.CMSAPI.Experimental.DataContractSerializer.SerializeXml(SerializeData);
break;
}
return szRet;
}
public static string SerializeAssets(string szRootFolder, DataType enumDataType)
{
var SerializeData = new AssetObject();
SerializeData.Assets = new List<AssetInfo>();
FilterParams fpFilter = new FilterParams();
fpFilter.Add(Comparison.Equals, AssetType.File);
foreach (Asset aFile in Asset.Load(szRootFolder).GetFilterList(fpFilter))
{
Dictionary<string, string> dtTags = new Dictionary<string, string>();
foreach (KeyValuePair<string, string> kvpContent in aFile.GetContent())
{
if (kvpContent.Key.Contains("_tag:") && !string.IsNullOrWhiteSpace(kvpContent.Value))
{
if (!dtTags.ContainsKey(kvpContent.Key))
dtTags.Add(kvpContent.Key, kvpContent.Value);
}
}
if (dtTags.Count > 0)
SerializeData.Assets.Add(new AssetInfo { AssetId = aFile.Id, AssetLabel = aFile.Label, Tags = dtTags });
}
return ReturnSerializedData(enumDataType, SerializeData);
}