我有一个“xml”文件,如下所示:
<root>
<a>
<b>
</b>
</a>
</root>
<root>
<a>
<b>
</b>
</a>
</root>
<root>
<a>
<b>
</b>
</a>
</root>
....
是使用序列化方法在对象列表上创建的。所以我有匹配的类来反序列化它。
现在,当我尝试反序列化时,我得到了多个根的错误。 有没有办法再次将此文件反序列化为对象列表?
我的一个想法是围绕列出的类包装另一个类,并将其称为“rootclass”,而不仅仅是序列化这个类。这将导致单个根。但是,只有给定的XML文件才能实现吗?
我的反序列化看起来像这样:
static public List<CT> DeSerialize(string FileName)
{
XmlSerializer deserializer = new XmlSerializer(typeof(List<CT>), new XmlRootAttribute("root"));
List<CT> result;
using (FileStream fileStream = new FileStream(@FileName, FileMode.Open))
{
result = (List<CT>)deserializer.Deserialize(fileStream);
}
return result;
}
答案 0 :(得分:0)
你有片段所以使用XmlReader并将设置设置为片段:
width