我有一个强类型的 DataSet 和一个用 xsd.exe 生成的相应类。
我想通过 XML 序列化/反序列化将 DataSet 内容传递给匹配的类。
如果我使用类似的东西:
MyStronglyTypedDataSet ds = new MyStronglyTypedDataSet();
//... fill the dataset...
ds.WriteXml(@"C:\Temp\somedata.xml");
FileStream fs = new FileStream(@"C:\Temp\somedata.xml", FileMode.Open);
XmlSerializer serial = new XmlSerializer(typeof(MyDataSetMatchingClass));
MyDataSetMatchingClass myObj = (MyDataSetMatchingClass)serial.Deserialize(fs);
一切正常,但我不想使用临时文件,所以我尝试了:
MyStronglyTypedDataSet ds = new MyStronglyTypedDataSet();
//... fill the dataset...
MemoryStream dump = new MemoryStream();
ds.WriteXml(dump);
XmlSerializer serial = new XmlSerializer(typeof(MyDataSetMatchingClass));
MyDataSetMatchingClass myObj = (MyDataSetMatchingClass)serial.Deserialize(dump);
但是反序列化器抱怨缺少根 XML 节点。任何人都知道一种方法来告诉 XmlWriter 附加根节点,或反序列化器忽略丢失的根节点或任何其他解决方案?