private void GetInfoasDS(string rez) { try { XMLDoc xd = new XMLDoc(rez, false); XmlNodeList nl = xd.GetNodeListByPathOnly("bot_gettableinfo"); if (nl == null || nl.Count == 0) { lbState.Text = "Error in XML string"; return; } string result = xd.GetAttributeInnerText(nl[0], "result"); if (result != "0") { lbState.Text = "Error response"; return; } nl = xd.GetNodeListByPathOnly("bot_gettableinfo/" + (mProcessType == enControlFor.Process ?"chair":"bot")); DataTable tb = GetTable(); foreach (XmlNode nd in nl) { string chair = "0"; string id = "0"; string type = "0"; string processid = "0"; if (mProcessType == enControlFor.Process) { string stateid = xd.GetAttributeInnerText(nd, "stateid"); if (stateid == "2") { id = xd.GetAttributeInnerText(nd, "id"); if (mProcessType == enControlFor.Process) { chair = xd.GetAttributeInnerText(nd, "position"); } } else { continue; } } else { id = xd.GetAttributeInnerText(nd, "id"); type = xd.GetAttributeInnerText(nd, "type"); processid = xd.GetAttributeInnerText(nd, "processid"); } string loginname = xd.GetAttributeInnerText(nd, "loginname"); DataRow dr = tb.NewRow(); dr["id"] = Utils.GetInt(id); dr["loginname"] = loginname; if (mProcessType == enControlFor.Process) { dr["chairid"] = Utils.GetInt(chair); } else { dr["Type"] = Utils.GetInt(type); dr["ProcessID"] = Utils.GetInt(processid); } tb.Rows.Add(dr); } Session[GetTableHeader() + "DataSource"] = tb; } catch (Exception ex) { Log.Write(ex); lbState.Text = "Error get info"; } }