我有一个非常简单的应用程序,目前只有一个基于单个表的Linq to Sql类。
我需要使用Linq To Sql类的DataContext将表中的所有行序列化(为XML)。
我该如何操作?
这是我当前的代码:
var db = new MyEntityDataContext();
Stream fs = new FileStream("Output.xml", FileMode.Create);
XmlWriter writer = new XmlTextWriter(fs, Encoding.Unicode);
serializer = new XmlSerializer(typeof(MyEntity));
foreach (var row in db.MyEntitys)
{
// Serialize object to XML
serializer.Serialize(writer,row);
}
writer.Close();
然而,它抛出了以下异常:"Token StartElement in state Epilog would result in an invalid XML document."
我还尝试过:
XmlSerializer serializer2 = new XmlSerializer(db.MyEntitys.GetType());
但是这会导致一个异常:"要使继承自IEnumerable的类型可序列化为XML,它们在继承层次结构的所有级别都必须实现Add(System.Object)方法。"