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处理VBArray的函数使用说明
May 11 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
Dec 19 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
Nov 14 Javascript
jquery选择器之基本过滤选择器详解
Jan 27 Javascript
JavaScript:Date类型全面解析
May 19 Javascript
使用jquery获取url及url参数的简单实例
Jun 14 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
Dec 02 Javascript
JS仿京东移动端手指拨动切换轮播图效果
Apr 10 Javascript
详解jQuery停止动画——stop()方法的使用
Dec 14 Javascript
JS解决移动web开发手机输入框弹出的问题
Mar 31 Javascript
js计算两个日期间的天数月的实例代码
Sep 20 Javascript
Vue.js特性Scoped Slots的浅析
Feb 20 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
PHP 开发环境配置(Zend Studio)
2010/04/28 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
2017/02/08 PHP
php操作access数据库的方法详解
2017/02/22 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
2016/04/26 Javascript
三种带箭头提示框总结实例
2016/06/14 Javascript
JSONP和批量操作功能的实现方法
2016/08/21 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
2017/01/04 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
2018/06/28 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
2020/08/27 Javascript
使用js原生实现年份轮播选择效果实例
2021/01/12 Javascript
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
[04:54]DOTA2-DPC中国联赛1月31日Recap集锦
2021/03/11 DOTA
python动态网页批量爬取
2016/02/14 Python
HTML5 Canvas中绘制椭圆的4种方法
2015/04/24 HTML / CSS
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
单位在职证明范本
2014/01/09 职场文书
集团财务总监岗位职责
2015/04/03 职场文书
出纳2015年度工作总结范文
2015/10/14 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
一篇文章带你学习Mybatis-Plus(新手入门)
2021/08/02 Java/Android