一个DataSet已经通过ReadXmlSchema 读入了结构,怎样把数据(XML串,通过GetXml 取出)读进来?一、
//读入结构.(只有一张表)
DS.ReadXmlSchema(xmlStream)
???怎样把之前通过GetXml 取出的数据读进来?
//
二、如果有多表怎么办?

解决方案 »

  1.   

    public static void ImportData(System.Data.DataSet dsDst, string data)
    {
    System.Data.DataSet ds = new System.Data.DataSet();

    ds.ReadXml(new System.IO.StringReader(data));

    for(int i = 0; i < ds.Tables.Count; i++)
    {
    System.Data.DataTable dt = ds.Tables[i];
    if (dsDst.Tables.Contains(dt.TableName))
    {
    System.Data.DataTable table = dsDst.Tables[dt.TableName];
    for(int j = 0; j < dt.Rows.Count; j++)
    {
    System.Data.DataRow dr = dt.Rows[j];
    System.Data.DataRow row = table.NewRow();
    for(int k = 0; k < dt.Columns.Count; k++)
    {
    string columnName = dt.Columns[k].ColumnName;
    if (table.Columns.Contains(columnName))
    {
    try
    {
    row[columnName] = dr[columnName];
    }
    catch(Exception ex)
    {
    System.Diagnostics.Debug.Write(ex.Message);
    }
    }
    }

    table.Rows.Add(row);
    }
    }
    }
    }
      

  2.   

    你也可以试试ds.ReadXml(reader, XmlReadMode.IgnoreSchema);