XmlDataDocument datadoc = new XmlDataDocument();
datadoc.DataSet.ReadXml("c:\\a.xml");
DataSet ds = datadoc.DataSet.Tables[2].DataSet;
根据a.xml,这个DataSet里边得到了三个表,我只想用第3个表,前2个表不用,现在第3个表中有n条记录,我想select出来其中的一条,然后让ds只有这么一条记录就可以了,其他垃圾的数据都不要了,请问怎么做啊,谢谢!

解决方案 »

  1.   

    XmlDataDocument datadoc = new XmlDataDocument();
    datadoc.DataSet.ReadXml("c:\\a.xml");
    DataRow[] drs = datadoc.DataSet.Tables[2].Select("ID=3");
    DataSet ds = new DateSet();
    // 加入第3张表
    ds.Tables.Add(datadoc.DataSet.Tables[2]);
    // 清除掉不需要的数据
    ds.Tables[0].Clear();
    foreach (DataRow dr in drs)
    {
    ds.Tables[0].Rows.Add(dr);
    }// 试试看
      

  2.   

    不好意思,我没有说清楚,我不知道怎么样在DataSet里搜索,好像有点感觉了,正在编
      

  3.   

    XmlDataDocument datadoc = new XmlDataDocument();
                    datadoc.DataSet.ReadXml("c:\\aa.xml");
                    DataRow[] drs = datadoc.DataSet.Tables[obj].Select(element + "='" + value+ "'");
                    DataSet ds = new DataSet();
                    // 加入第3张表
                    //ds.Tables.Clear();
                    ds.Tables.Add(datadoc.DataSet.Tables[obj].Copy());
                    // 清除掉不需要的数据
                    //ds.Tables[0].Clear();
                    ds.Tables[obj].Rows.Clear();
                    foreach (DataRow dr in drs)
                    {
                        ds.Tables[obj].Rows.Add(dr.ItemArray);
                    }
    多谢ezhuyin(碧海蓝天) ,你的程序改成这样就完美了。结帐!