日期:2014-05-18  浏览次数:21124 次

XmlDocument.Load(Stream instream)方法 错误 提示缺少根元素。
代码如下:错误如题
  class Program
  {
  static void Main(string[] args)
  {
  List<A> list = new List<A>();
  for (int i = 0; i < 10; i++)
  {
  list.Add( new A());
  }
  XmlSerializer serializer = new XmlSerializer(typeof(List<A>));
  MemoryStream mstream = new MemoryStream();
  serializer.Serialize(mstream, list);
  XmlDocument xmldocument = new XmlDocument();
  xmldocument.Load(mstream);
  mstream.Dispose();
  }
  }

  [Serializable]
  public class A
  {
  string name = "aaa";
  public string Name
  {
  get { return name; }
  set { name = value; }
  }
  int id = 5;
  public int Id
  {
  get { return id; }
  set { id = value; }
  }
我曾试过将上述的msmerry写到文件中保存,代码如下:运行后a.txt 是xml标准的文档格式  
  //FileStream fs = File.Create("a.txt");
  //mstream.WriteTo(fs);
  //fs.Close();
  //fs.Dispose();
如果将List序列化为filestream 再用XmlDocument.Load(string urlstring);没问题
请高手指点
在线等!!
先谢谢了



------解决方案--------------------
少了
<?xml version="1.0" encoding="utf-8"?>
这个吧
------解决方案--------------------
xml文件中必须有一对根标签!
<?xml version="1.0" encoding="utf-8"?> 
<rss>
</rss>
创建文件时是这种格式才行!
------解决方案--------------------
指定下encoding,文件保存的编码和xmldoc读取时用的编码不一致可能就会出问题
------解决方案--------------------
探讨
xml文件中必须有一对根标签!
<?xml version="1.0" encoding="utf-8"?>
<rss>
</rss>
创建文件时是这种格式才行!