代码很简单:
XmlSerializer serializer = new XmlSerializer(typeof(MyObject1));
MemoryStream mem = new MemoryStream((byte[])cAWSDataSet.Tables[ "myFile "].Rows[RowSelected][ "文件 "]);
MyObject1 obj1 = (MyObject1)serializer.Deserialize(mem);//此行出错,InvalidOperation,XML文档(1,1)处有错误
MyObject1的代码如下:
public class MyObject1
{
public GraphicAttri [] graphItems;//GraphicAttri为自定义的一个类
public int graphNO;
public MyObject1 ()
{
}
}
后来通过InnerException发现是根级别的数据无效,下面是序列化的xml文档的头几行(因为我觉得既然是根级别数据无效i,肯定就是开头的那些参数问题):
xml文档为:
<?xml version= "1.0 " encoding= "utf-8 "?>
<MyObject1 xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance "
xmlns:xsd= "http://www.w3.org/2001/XMLSchema ">
......
请问根级别的数据,位置为行1列1的是哪个?
还要说明的是:我就直接引用PDA里的用来序列化的类(MyObject1),然后在PC机上的程序里using 了一下。
------解决方案--------------------
是不是读XML的方法用错了.一个是Load(),一个是LoadXml()