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 相关文章推荐
锋利的jQuery 第三章章节总结的例子
Mar 23 Javascript
Js获取事件对象代码
Aug 05 Javascript
js中关于new Object时传参的一些细节分析
Mar 13 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
Jan 02 Javascript
一个jquery实现的不错的多行文字图片滚动效果
Sep 28 Javascript
avalonjs实现仿微博的图片拖动特效
May 06 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
Jan 27 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
Jun 29 Javascript
原生JS实现图片懒加载之页面性能优化
Apr 26 Javascript
vue自动化路由的实现代码
Sep 30 Javascript
javascript实现前端分页效果
Jun 24 Javascript
vue-router路由懒加载及实现的3种方式
Feb 28 Vue.js
做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 日期时间函数的高级应用技巧
2009/10/10 PHP
php自定义扩展名获取函数示例
2016/12/12 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
ThinkPHP5.1验证码功能实现的示例代码
2020/06/08 PHP
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
jQuery 表格工具集
2010/04/25 Javascript
jQuery中after的两种用法实例
2013/07/03 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
JavaScript实现鼠标点击后层展开效果的方法
2015/05/13 Javascript
JS中处理时间之setUTCMinutes()方法的使用
2015/06/12 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
vue组件实例解析
2017/01/10 Javascript
面包屑导航详解
2017/12/07 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
用Python的urllib库提交WEB表单
2009/02/24 Python
浅析Python的Django框架中的Memcached
2015/07/23 Python
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
如何使用pandas读取txt文件中指定的列(有无标题)
2020/03/05 Python
python 给图像添加透明度(alpha通道)
2020/04/09 Python
使用Python实现微信拍一拍功能的思路代码
2020/07/09 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
护士自荐信
2013/10/25 职场文书
酒店人事专员岗位职责
2013/12/19 职场文书
培训专员岗位职责
2014/02/26 职场文书
殡葬服务心得体会
2014/09/11 职场文书
2014公安机关纪律作风整顿思想汇报
2014/09/13 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
给老婆的检讨书1000字
2015/01/01 职场文书
优秀团员主要事迹范文
2015/11/05 职场文书
javascript的var与let,const之间的区别详解
2022/02/18 Javascript
Spring事务管理下synchronized锁失效问题的解决方法
2022/03/31 Java/Android