这是我写的一段代码
private System.Data.DataSet StringToDataSet(string dataInfo)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(dataInfo);
doc.Save("Tmp.xml");
XmlTextReader reader = new XmlTextReader("Tmp.xml");
System.Data.DataSet ds = new System.Data.DataSet();
ds.ReadXml(reader);
return ds;
}
有没有更好的方法,不用存为临时文件

解决方案 »

  1.   

    objDataSet = new DataSet();
    objDataSet.ReadXml(dataInfo);
      

  2.   

    DataSet没有直接的方法,读取XMl中的内容。用你保存临时文件的方法算是比较简单了。
    也可以读取XML内容,来构造DataTable。
      

  3.   

    XmlTextReader reader = new XmlTextReader(dataInfo);不就完了?
      

  4.   

    DataSet也可以直接读取string如2楼
      

  5.   

    swordragon(古道热肠) 
    的就可以了吧
      

  6.   

    objDataSet = new DataSet();
    objDataSet.ReadXml(dataInfo);
    应该是最直接的了。
      

  7.   

    private System.Data.DataSet StringToDataSet(string dataInfo)
    {
       XmlDataDocument doc = new XmlDataDocument();
       StringReader reader=new StringReader(dataInfo); 
       doc.DataSet.ReadXml(reader);
       return doc.DataSet
    }
      

  8.   

    你可以先弄成stream
    然后直接dataset.readxml(stream)不用保存成临时文件
      

  9.   

    简化一下 ^o^
    private System.Data.DataSet StringToDataSet(string dataInfo)
    {
       DataSet datas = new DataSet();   
       datas.ReadXml(new StringReader(dataInfo));
       return datas;
    }
      

  10.   

    XmlTextReader reader = new XmlTextReader(dataInfo);
      

  11.   

    直接生成就行了
    Set = new DataSet();
    Set.ReadXml(string);
      

  12.   

    string xmlData =@"<NewDataSet><User><UserID>001</UserID><UserName>管理员甲(示例)</UserName><Sex>男</Sex></User><User><UserID>022551</UserID><UserName>管理</UserName><Sex>女</Sex></User></NewDataSet>";

    DataSet ds = new DataSet();
    System.IO.StringReader xmlSR = new System.IO.StringReader(xmlData);
    ds.ReadXml(xmlSR, XmlReadMode.InferSchema);