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 相关文章推荐
JavaScript中去掉数组中的重复值的实现方法
Aug 03 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
Mar 28 Javascript
探讨JavaScript中的Rest参数和参数默认值
Jul 29 Javascript
动态更新highcharts数据的实现方法
May 28 Javascript
HTML5 实现的一个俄罗斯方块实例代码
Sep 19 Javascript
JS中的数组转变成JSON格式字符串的方法
May 09 Javascript
Vue头像处理方案小结
Jul 26 Javascript
AngularJS修改model值时,显示内容不变的实例
Sep 13 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
Oct 18 Javascript
antd组件Upload实现自己上传的实现示例
Dec 18 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
Jan 08 Javascript
将Vue组件库更换为按需加载的方法步骤
May 06 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
索尼SONY ICF-7600A(W)电路分析
2021/03/01 无线电
用php来检测proxy
2006/10/09 PHP
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
php中array_column函数简单实现方法
2016/07/11 PHP
php结合ajax实现手机发红包的案例
2016/10/13 PHP
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
JavaScript中的this机制
2016/01/30 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
2016/04/12 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
jQuery实现的简单前端搜索功能示例
2017/10/28 jQuery
React通过父组件传递类名给子组件的实现方法
2017/11/13 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
利用Blob进行文件上传的完整步骤
2018/08/02 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
mysql 之通过配置文件链接数据库
2017/08/12 Python
python写程序统计词频的方法
2019/07/29 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
pytorch中图像的数据格式实例
2020/02/11 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
解决CSS3的opacity属性带来的层叠顺序问题
2016/05/09 HTML / CSS
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
师范生实习个人的自我评价
2013/09/28 职场文书
酒店应聘自荐信
2013/11/09 职场文书
年度考核自我评价
2014/01/25 职场文书
函授大学生自我鉴定
2014/02/05 职场文书
群众路线自我剖析材料
2014/10/08 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
幼儿园见习总结
2015/06/23 职场文书