linq to xml/动态类型 从树型表构建树(linq to entity处理数据库)
来源:互联网 发布:矩阵论第二版课后答案 编辑:程序博客网 时间:2024/06/08 03:36
有疑问的可以去下面地址联系我 欢迎拍砖!
http://bbs.ctrlc.com.cn/forum.php?mod=viewthread&tid=594&extra=page%3D1
linq to xml方法
public dynamic GetAllTree() { List<MenuClassify> roots = GetAllRoot();//取得所有根节点 //创建xml XDocument tree = new XDocument(); tree.Declaration = new XDeclaration("1.0", "utf-8", "no"); tree.Add(new XElement("Tree")); //添加树 foreach (var menuClassify in roots) { XElement node=new XElement("Node");//添加节点 node.SetAttributeValue("name", menuClassify.Name);//为节点添加属性 node.SetAttributeValue("id", menuClassify.MenuClassifyID); tree.Element("Tree").Add(node);//将节点加入树 NextNode(menuClassify.MenuClassifyID,node);//开始递归 } string xmlstr = tree.ToString(); XmlDocument doc = new XmlDocument(); doc.LoadXml(xmlstr); string jsonStr = JsonConvert.SerializeXmlNode(doc); return tree; }
public void NextNode(int id,XElement parentNode) { var nodes = DBHelper.Entity.MenuClassifies.Where(m => m.ParentID == id).Select(m => m);//获得次父节点的所有子节点 foreach (var node in nodes) { XElement xNode=new XElement("Node"); parentNode.Add(xNode); xNode.SetAttributeValue("name",node.Name); xNode.SetAttributeValue("id",node.MenuClassifyID); NextNode(node.MenuClassifyID,xNode);//递归遍历 } }
dynamic方式构建
public dynamic GetAllTree() { List<MenuClassify> roots = GetAllRoot();//取得所有根节点 List<dynamic> tree=new List<dynamic>(); foreach (var root in roots) { dynamic node = new ExpandoObject();//创建节点 node.name = root.Name;//为属性赋值 node.id = root.MenuClassifyID; tree.Add(node);//将节点加入树 NextNode(root.MenuClassifyID,node);//开始递归 } string jsonstr = JsonConvert.SerializeObject(tree);//test部分 序列化成json return tree; } public void NextNode(int id,dynamic parentNode) { var nodes = DBHelper.Entity.MenuClassifies.Where(m => m.ParentID == id).Select(m => m); if (nodes.ToList().Count != 0)//存在子节点 { List<dynamic> list = new List<dynamic>(); parentNode.nodes = list; foreach (var node in nodes) { dynamic n = new ExpandoObject(); n.name = node.Name; n.id = node.MenuClassifyID; list.Add(n); NextNode(node.MenuClassifyID, n); } } }
- linq to xml/动态类型 从树型表构建树(linq to entity处理数据库)
- LINQ to Entity 动态查询
- Linq to entity 动态生成where in
- Linq to Entity CRUD
- C# ~ 从 XML 到 Linq 到 Linq to XML
- [代码]如何从XmlReader创建XML树(LINQ to XML)
- Sample of LINQ to Entity
- Linq To Entity 修改数据
- LINQ TO ENTITY 判断时间
- Linq to Entity 的问题
- LINQ to XSD - 操作强类型xml
- 使用LINQ to XML
- LINQ TO XML
- LINQ TO XML学习
- linq to xml demo
- LINQ to XML简介
- LINQ to XML
- linq to xml入门
- 工作集的问题
- Apache HTTP Server Version 2.2 文档中文版
- oralce中db_link的问题
- 复制一个库中的表数据到另一个库表中
- SQL生成不重复的随机数
- linq to xml/动态类型 从树型表构建树(linq to entity处理数据库)
- Debian下安装Subversion版本管理工具
- 浅析Android 蜂巢中左下角三个导航键的实现源码
- 自旋锁
- C++ 学习笔记1
- “线程间操作无效: 从不是创建控件的线程访问它”
- Investigation of CircleCube Video Player (Day 3)
- Debian下安装任务管理软件Trac
- 七种Mysql表类型