【发布时间】:2009-07-07 01:37:30
【问题描述】:
假设我们有一个来自基类“System.Windows.Controls”的派生类“SerializableLabel”。
[XmlRoot("SerializableLabel")]
public class SerializableLabel : Label
{
public string foo = "bar";
}
我想序列化这个类,但忽略父类中的所有属性。理想情况下,xml 看起来像:
<SerializableLable>
<foo>bar</foo>
</SerializableLable>
如何最好地做到这一点?
我的第一次尝试使用了典型的 XmlSerializer 方法:
XmlSerializer s = new XmlSerializer(typeof(SerializableLabel));
TextWriter w = new StreamWriter("test.xml");
s.Serialize(w, lbl);
w.Close();
但这会引发异常,因为序列化程序会尝试序列化作为接口(ICommand 命令)的基类属性。
【问题讨论】:
标签: c# .net xml-serialization