我在处理一个表的编辑时,因为所需,将成员列表做成xml格式,然后在datagrid绑定之前,把xml额中数据取出来,做成html形式,添加在table的一个新列里,用于展示。
现在我想要修改这个xml数据,对成员列表内容进行删改,怎么做额

解决方案 »

  1.   

    修改XML
    XmlDocument doc=new XmlDocument();
    doc.Load("A.xml");
    XmlNodeList nodeList=doc.SelectSingleNode("").ChildNodes;
    foreach(XmlNode xn in nodeList)
    {
    XmlElement xe=(XmlElement)xn;
    if(xe.GetAttribute("").Equals(""))
    {
    xe.SetAttribute("","");
    XmlNodeList nls=xe.ChildNodes;
    foreach(XmlNode xn1 in nls)
    {
    XmlElement xe2=(XmlElement)xn1;
    }
    break;
    }
    }
    doc.Save("A.xml");
      

  2.   


    这个我知道,问题是现在我要通过客户端datagrid触发的事件修改这个xml,但是客户端的你不可能弄成纯xml显示给用户吧,我先将xml数据取出,做成了html形式,所以现在很纠结了,客户端显示的是html,我对html进行修改,怎么会影响到要存入数据库的xml数据,所以我才想问,这个怎么解决。
    也不知表述清楚没
      

  3.   


    我还是贴代码吧
    //将xml从数据库中取出,并组成html形式,存入table新增的列中,用于datagrid显示
    //datagrid的修改是取出这个html语段进行修改,但是是改不了xml数据的,但是我要传回数据库的是xml文件额,怎样我才能通过客户端修改html同时后台的这个xml数据也能进行修改
     public DataTable GetEditePro(int leader)
            {
                string sql = "SELECT * FROM T_project WHERE leader='" + leader + "' AND state='A'";
                DataSet set = new DataSet();
                UserCls user = new UserCls();
                DataTable table = new DataTable();
                XmlDocument xmldoc = new XmlDocument();
                Connection conn = new Connection();
                set = ((DataSet)conn.MakeConnetionMethod(sql, Connection.executeMethod.execute_DataSet));
                table = set.Tables[0];
                table.Columns.Add("html", typeof(string));
                table.Columns.Add("UID", typeof(string));
                for (int i = 0; i < table.Rows.Count; i++)
                {
                    string html = "<table id='newbody'>";
                    string xml = table.Rows[i]["memmbers"].ToString();
                    xmldoc.LoadXml(xml);
                    XmlNodeList xmlnodlist = xmldoc.GetElementsByTagName("Memmbers");
                    foreach (XmlNode node in xmlnodlist)
                    {
                        html += "<tr id='" + i + "'><td><span id='span" + i + "'>" + node.InnerText + "</span></td>";
                        html += "<td><input type='button' value='删除' runat='server' onclick='Delete(" + i + ")' /></td></tr>";
                    }
                    html += "</table>";
                    table.Rows[i]["html"] = html;
                    table.Rows[i]["UID"] = user.GetUID(Convert.ToInt32(table.Rows[i]["leader"]));
                }
                return table;
            }