DevExpress之TreeList的研究绑定XML文件
发布时间:2020-12-16 05:01:31 所属栏目:百科 来源:网络整理
导读:上次的递归调用进行对XML文件读取限制比较大,这次静态进行读取,思路还是先把XML读取到DataTable中然后进行绑定,代码入下: private DataTable CreatTable() { DataTable dt = new DataTable(); dt.Columns.Add("ID"); dt.Columns.Add("ParentID"); dt.Col
上次的递归调用进行对XML文件读取限制比较大,这次静态进行读取,思路还是先把XML读取到DataTable中然后进行绑定,代码入下: private DataTable CreatTable() { DataTable dt = new DataTable(); dt.Columns.Add("ID"); dt.Columns.Add("ParentID"); dt.Columns.Add("Name"); XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load(g_filepath); XmlNode rootnode = xmlDoc.DocumentElement; dr = dt.NewRow(); int Id = 1; dr["ID"] = Id++; dr["ParentID"] = 0; dr["Name"] = rootnode.Name.ToString(); dt.Rows.Add(dr); if (rootnode.HasChildNodes) { XmlNodeList xmlnodelist = rootnode.ChildNodes; foreach (XmlNode xmlnode in xmlnodelist) { dr = dt.NewRow(); dr["ID"] = Id++; dr["ParentID"] = 1; dr["Name"] = xmlnode.Name.ToString(); dt.Rows.Add(dr); if (xmlnode.HasChildNodes) { int j = 1; XmlNodeList nodelist = xmlnode.ChildNodes; foreach (XmlNode node in nodelist) { int pId=Id; dr = dt.NewRow(); dr["ID"] = Id++; dr["ParentID"] =pId-j ; dr["Name"] =node.Name.ToString(); dt.Rows.Add(dr); j++; if (node.HasChildNodes) { int i = 1; XmlNodeList list = node.ChildNodes; foreach (XmlNode Node in list) { if (Node.NodeType == XmlNodeType.Text) { continue; } else { int ppId = Id; dr = dt.NewRow(); dr["ID"] = Id++; dr["ParentID"] = ppId - i; dr["Name"] = Node.Name.ToString(); dt.Rows.Add(dr); i++; j++; } } } else { continue; } } } else { continue; } } } return dt; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |