【发布时间】:2011-01-20 09:48:08
【问题描述】:
通常在 C# Xml 类型中标记有属性以定义它们的获取方式 序列化:
/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(Namespace=
"urn:xmlns:25hoursaday-com:my-bookshelf")]
public class bookType {
/// <remarks/>
public string title;
/// <remarks/>
public string author;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("publication-date",
DataType="date")]
public System.DateTime publicationdate;
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string publisher;
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute("on-loan")]
public string onloan;
}
现在说到我喜欢在没有这些属性的情况下使用 POCOS,我可能会重用这些属性来进行 OR-Mapping,例如NHibernate,那么最好在不改变要序列化的类型的情况下定义序列化方式。
问题是:有没有一种方法可以 declerativeley 定义一个类型被序列化的方式,例如:一个映射 xml 文件。
【问题讨论】:
-
顺便说一句,即使在 DTO 中,这些也应该是属性,而不是字段。
-
从 msdn 拿来的 :-) 我会转发你的推荐 :-) msdn.microsoft.com/en-us/library/ms950721.aspx
标签: c# xml serialization xml-serialization mapping