110,566
社区成员
发帖
与我相关
我的任务
分享
public partial class TestEntity
{
public int ID { get; set; }
public ICollection<string> Names { get; set; }
}
public interface IEnt
{
[XmlIgnore]
[JsonIgnore]
ICollection<string> Names { get; set; }
}
partial class TestEntity : IEnt
{
}
// xml序列化方法
public static string SerializeString<T>(T obj)
{
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
{
XmlSerializer xml = new XmlSerializer(typeof(T));
xml.Serialize(sw, obj);
}
return sb.ToString();
}
// json序列化方法
public static string JsonSerialize<T>(T obj)
{
return Newtonsoft.Json.JsonConvert.SerializeObject(obj);
}
static void Main(string[] args)
{
var te = new TestEntity() { ID = 5, Names = new string[] { "1", "2" } };
var overrides = new XmlAttributeOverrides(); // 自定义覆盖
overrides.Add(typeof(TestEntity), "Names", new XmlAttributes() { XmlIgnore = true });
string xml = SerializeString(te, overrides);
}
public static string SerializeString<T>(T obj, XmlAttributeOverrides overrides = null)
{
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
{
XmlSerializer xml = new XmlSerializer(typeof(T), overrides);
xml.Serialize(sw, obj);
}
return sb.ToString();
}
XmlAttributteOverrides可以参考:
https://msdn.microsoft.com/zh-cn/library/system.xml.serialization.xmlattributeoverrides.aspx
public partial class TestEntity
{
public int ID { get; set; }
[XmlIgnore]
public ICollection<string> Names { get; set; }
}