js使用递归解析xml


Posted in Javascript onDecember 12, 2014

xml结构:

<RightMenuItems>

  <Item Code="New" Name="新建" GroupCode="Edit" GroupName="编辑"/>

  <Item Code="Open" Name="打开" GroupCode="Edit" GroupName="编辑">

    <item Code="Word" Name="Word文档" GroupCode="CommonDocument" GroupName="常规"/>

    <item Code="Excel" Name="Excel文档" GroupCode="CommonDocument" GroupName="常规"/>

    <item Code="CustomDocument" Name="自定义文档" GroupCode="CustomDocument" GroupName="自定义"/>

  </Item>

  <Item Code="Save" Name="保存" GroupCode="Edit" GroupName="编辑"/>

  <Item Code="Exit" Name="离开" GroupCode="Exit" GroupName="离开"/>

</RightMenuItems>

解析方法:

$(xml).find("RightMenuItems").each(function () {
 this.data = Traversal($(this).children());

 });

var Traversal = function (nodes) {

        var itemList = new Array();

        $.each(nodes, function () {

            var entity = new RightMenuEntity();

            var obj = $(this);

            entity.Code = obj[0].getAttribute("Code");

            entity.Name = obj[0].getAttribute("Name");

            entity.GroupCode = obj[0].getAttribute("GroupCode");

            entity.GroupName = obj[0].getAttribute("GroupName");

            if (obj[0].hasChildNodes()) entity.ChildItems = Traversal(obj.children());

            itemList.push(entity);

        });

        return itemList;

    };

以上就是javascript使用递归解析XML的全部代码了,超级简洁,非常使用,给需要的小伙伴参考下。

Javascript 相关文章推荐
js 函数调用模式小结
Dec 26 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
Feb 26 Javascript
JS动态添加与删除select中的Option对象(示例代码)
Dec 25 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
Jul 21 Javascript
js+html5实现canvas绘制网页时钟的方法
May 21 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
Oct 19 Javascript
利用yarn实现一个webpack+react种子
Oct 25 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
Jan 13 Javascript
详解微信小程序审核不通过的解决方法
Jan 17 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
Jul 23 Javascript
写gulp遇到的ES6问题详解
Dec 03 Javascript
layer更改皮肤的实现方法
Sep 11 Javascript
做web开发 先学JavaScript
Dec 12 #Javascript
兼容主流浏览器的JS复制内容到剪贴板
Dec 12 #Javascript
Javascript模拟加速运动与减速运动代码分享
Dec 11 #Javascript
javascript中HTMLDOM操作详解
Dec 11 #Javascript
javascript实现修改微信分享的标题内容等
Dec 11 #Javascript
javascript表单验证和Window详解
Dec 11 #Javascript
使用百度地图api实现根据地址查询经纬度
Dec 11 #Javascript
You might like
解析CodeIgniter自定义配置文件
2013/06/18 PHP
PHP对接微信公众平台消息接口开发流程教程
2014/03/25 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
PHP如何获取当前主机、域名、网址、路径、端口等参数
2017/06/09 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
Jquery图形报表插件 jqplot简介及参数详解
2012/10/10 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
javascript轮播图算法
2016/10/21 Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
2017/02/28 Javascript
webpack多入口文件页面打包配置详解
2018/01/09 Javascript
vue源码学习之Object.defineProperty 对数组监听
2018/05/30 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
webpack中如何使用雪碧图的示例代码
2018/11/11 Javascript
layui动态渲染生成select的option值方法
2019/09/23 Javascript
微信小程序纯文本实现@功能
2020/04/08 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
[53:43]VP vs NewBee Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
python实现将视频按帧读取到自定义目录
2019/12/10 Python
对python中return与yield的区别详解
2020/03/12 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
俄罗斯眼镜网: optikaworld
2016/07/31 全球购物
Easy Spirit官网:美国休闲鞋履中的代表品牌
2019/04/12 全球购物
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
南京某公司笔试题
2013/01/27 面试题
小学感恩教育活动总结
2014/07/07 职场文书