xml 格式
  <Product id="1" image="sp4_06.jpg" sta="1"/> 
  <Product id="2" image="sp4_06.jpg" sta="0"/>   XmlNodeList xnl = xml_che.SelectSingleNode("Products").ChildNodes;
        int node_count = xnl.Count;
           if (node_count > 0)
        {
            foreach (XmlNode xn in xnl)
            {
                if (xn.Attributes["sta"].Value == "1")
                { //如何改成datalist只读取sta=1的数据
                   // 我的想法是把符合条件的 数据 放入 table ,之后由datalist绑定table                 //如何操作 谢谢
            //DataList1.DataSource = ds.Tables[0].DefaultView; //这个是原来写的
            //DataList1.DataBind();
                }
            }        }

解决方案 »

  1.   


     XmlNodeList xnl = xml_che.SelectSingleNode("Products").ChildNodes;
            int node_count = xnl.Count;
            DataTable dt = new DataTable();
            dt.Columns.Add("id");
            dt.Columns.Add("image");
            dt.Columns.Add("sta");        if (node_count > 0)
            {
                foreach (XmlNode xn in xnl)
                {
                    if (xn.Attributes["sta"].Value == "1")
                    {
                        dt.Rows.Add(new string[] { xn.Attributes["id"].Value, xn.Attributes["image"].Value, xn.Attributes["sta"].Value });
                     
                    }
                }
            }        DataList1.DataSource = dt.DefaultView; //这个是原来写的
            DataList1.DataBind();
      

  2.   

    XmlNodeList xnl = xml_che.SelectNodes("//Products/Product[@sta!='1']")
    foreach(XmlNode xn in xnl)
    {
    .....
    }
      

  3.   

    谢谢 你们不觉得这样更好吗>  DataView dv = ds.Tables[0].DefaultView;
                 dv.RowFilter = "sta=0";
      DataList1.DataSource = dv;