加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

将XML文件转换为easyui Tree结构json

发布时间:2020-12-15 23:31:45 所属栏目:百科 来源:网络整理
导读:private void GetTreeCamera() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(HttpContext.Current.Server.MapPath("camera.xml")); StringBuilder result = new StringBuilder(); StringBuilder sb = new StringBuilder(); //获取当前XML文档的根
private void GetTreeCamera()
       {
           XmlDocument xmlDoc = new XmlDocument();
           xmlDoc.Load(HttpContext.Current.Server.MapPath("camera.xml"));
           StringBuilder result = new StringBuilder();
           StringBuilder sb = new StringBuilder();
           //获取当前XML文档的根 一级
           XmlNode oNode = xmlDoc.DocumentElement;
           if (!oNode.HasChildNodes)
               result.Append("[]");
           else
           {
               //获取根节点的所有子节点列表 
               XmlNodeList oList = oNode.ChildNodes;
               result.Append("[");
               foreach (XmlNode Node in oList)
               {
                   sb.Clear();
                   string r1 = getJsonByNode(Node,sb);
                   result.Append(r1);
               }
               result = result.Remove(result.Length - 1,1);
               result.Append("]");
           }
           WebHelper.HttpResponseJson(result.ToString());
       }
        /// <summary>
        /// 遍历结点,拼接json
        /// </summary>
        /// <param name="Node"></param>
        /// <param name="sb"></param>
        /// <returns></returns>
        private string getJsonByNode(XmlNode Node,StringBuilder sb)
        {
            if (!Node.HasChildNodes)
            {
                sb.Append("{"id":"" + Node.Attributes["id"].Value + "","text":"" + Node.Attributes["name"].Value.Trim() + "","state":"open"},");
            }
            else
            {
                sb.Append("{"text":"" + Node.Attributes["name"].Value.Trim() + "","children":[");
                XmlNodeList oList2 = Node.ChildNodes;
                foreach (XmlNode Node2 in oList2)
                {
                    getJsonByNode(Node2,sb);
                }
                sb = sb.Remove(sb.Length - 1,1);
                sb.Append("]},");
            }
            return sb.ToString();
        }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读