【发布时间】:2012-08-09 07:32:04
【问题描述】:
我正在尝试序列化一些对象,其中包含带有子元素的IList。 IList 是非通用的,我不能只使用通用的。
我得到像“MyObjectChild 类型不是预期的......”这样的异常,它说明了有关 XMLInclude 的内容,但我认为这不是我正在搜索的内容。
有谁知道如何使用XMLSerialzer 来序列化子元素?
两个元素都是[Serializable]
XmlSerializer xmlSerializer = new XmlSerializer(typeof ObservableCollection<MyEntryViewItem>));
FileStream fileStream = new FileStream(exportPath, FileMode.Create);
xmlSerializer.Serialize(fileStream, _listEntries);
public IList ElementChildren { get { return _item.Children; } set { _item.Children = value; RaisePropertyChanged(() => ElementChildren); } }
[Serializable]
public sealed class ElementChild
{
private int _id;
private string _text;
private string _path;
...
}
【问题讨论】:
-
您正在尝试序列化 MyEntryViewItem 的集合,这个类是什么?该错误还涉及您尚未放入上下文的另一个类 MyObjectChild。我认为更多信息会有很大帮助!
-
这只是一个基本类,其中包含一些我想要序列化的属性(主要是字符串)。但其中一个属性是一个 IList,其元素类型为 ElementChild...
-
MyObjectChild 和 ElementChild 一样...我把名字弄混了...
标签: c# xmlserializer