遍历access数据库,生成XML文档
我的数据库的内容是:
tbDept:
ID ParentID DeptName LevelID RoleID
1 0 软体研发处 0 0
2 1 软体研发一部 0 0
3 1 软体研发二部 0 0
4 1 软体研发三部 0 0
5 2 软体研发一部一课 0 0
6 2 软体研发一部二课 0 0
7 3 软体研发二部一课 0 0
8 3 软体研发二部一课 0 0
9 4 软体研发三部一课 0 0
10 4 软体研发三部二课 0 0
11 5 AAA 1 1
12 5 BBB 1 1
......
28 10 RRR 2 2
我想用遍历这个tbDept,然后根据遍历的结果生成带有父子关系的XML文件,小女子望各位能人能够赐教,该如何实现这个XML文档
[解决办法]
递归生成
先读取到DataTable里面,然后
http://dotnet.aspx.cc/file/Recursion-Genernate-XML.aspx
[解决办法]
我帮你写了个,数据表就是你给出的那部分数据。
OleDbData md = new OleDbData(); md.ExecuteReader("select * from tbDept"); XmlDocument xmlDoc = new XmlDocument(); XmlElement root = xmlDoc.CreateElement("root"); xmlDoc.AppendChild(root); while (md.Reader.Read()) { int parentID = Convert.ToInt32(md.Reader["ParentID"]); XmlElement node = xmlDoc.CreateElement("node"); for (int i = 0; i < md.Reader.FieldCount; i++) node.SetAttribute(md.Reader.GetName(i), md.Reader[i].ToString()); if (parentID > 0) { xmlDoc.SelectSingleNode(string.Format(@"//node[@ID='{0}']", md.Reader["ParentID"])).AppendChild(node); } else { xmlDoc.DocumentElement.AppendChild(node); } } md.Close(); xmlDoc.Save(Server.MapPath("~/test.xml"));