我正在尝试使用序列化创建一个xml文件和一个自定义类,我得到一个异常: “生成xml文档时出错。”
我尝试了一个字符串列表,它可以工作,但不是自定义类型... 有人为什么会这么做?
public class MyXML
{
List<MyClass> Mylist;
public XmlSerializer serialize;
public MyXML()
{
Mylist=new List<MyClass>();
serialize = new XmlSerializer(typeof(List<MyClass>));
}
public void Save(List<MyClass> newList)
{
using (FileStream writer = File.OpenWrite(Directory.GetCurrentDirectory() + "/files/MyNewFile.xml"))
{ serialize.Serialize(writer, newList); }
}
}
答案 0 :(得分:0)
这就是诀窍:把你当前的代码包起来:
try {
// create and use serializer
} catch(Exception ex) {
while(ex != null) {
Debug.WriteLine(ex.Message);
ex = ex.InnerException;
}
throw;
}
XmlSerializer在无法序列化/反序列化某些内容时实际上给出了非常详细的原因 - 但它们隐藏在内部异常中。通过上述内容,您将能够看到调试输出中存在的问题。
常见嫌疑人: