我在网上找了好久,发现先前已经有人问这个问题了,但没有解决方案。大家看下面地址。
http://topic.csdn.net/t/20050307/11/3830074.html我的问题是一样的,就是先把xml读入MemoryStream   ,然后再读出到另一个DataSet中。但总是报错:缺少根元素。不想存在一个文件中。因为是B/S架构,放在文件中也是不现实的。谢了。

解决方案 »

  1.   

    你读入的xml大概是缺少一个根节点
      

  2.   

    让我读的是DataSet中的数据。
    DataSet ds = new DataSet()
    ......
    --从数据库加载数据到ds
    ......
    ds.WriteXml(stream);然后我用另外一个DataSet来加载这个stream,就报错了。
      

  3.   

    我也遇到过,原来的xml文件格式:
    <?xml version="1.0" encoding="UTF-8"?>
    <dataroot xmlns:od="urn:schemas-microsoft-com:officedata" generated="2006-04-05T13:30:01">
    <Table>
    .....
    </Table>
    </dataroot >导入不成功
    格式改为:
    <?xml version="1.0" standalone="yes"?>
    <dataroot>
    <Table>
    .....
    </Table>
    </dataroot >
    就可以了,你试试。
      

  4.   

    我碰到了类似的问题,提示是
    “Xml.XmlException  an unexpected end of file parsing NAME has occurred”。
    而且,我做的也是先把xml读入MemoryStream ,然后再读出到另一个DataSet中。解决了告诉我一声。
      

  5.   

    但总是报错:缺少根元素。
    -----------------------
    xml确定格式正确吗?
      

  6.   

    DataSet ds = new DataSet();
    string sql="select * from StreamXml";
    DataSet dsxml=GetDataSet(sql);            
    Byte[] stream = (Byte[])dsxml.Tables[0].Rows[0]["XmlStream"];
    ds.ReadXml(new System.IO.MemoryStream(stream),System.Data.XmlReadMode.ReadSchema);http://singlepine.cnblogs.com/articles/298691.html