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 相关文章推荐
Mootools 1.2教程 事件处理
Sep 15 Javascript
纯js和css实现渐变色包括静态渐变和动态渐变
May 29 Javascript
浅析jQuery EasyUI中的tree使用指南
Dec 18 Javascript
Bootstrap实现默认导航栏效果
Sep 21 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
Aug 24 Javascript
js实现图片粘贴上传到服务器并展示的实例
Nov 08 Javascript
关于JavaScript语句后面的分号问题
Dec 07 Javascript
vue.js根据代码运行环境选择baseurl的方法
Feb 28 Javascript
mpvue写一个CPASS小程序的示例
Sep 04 Javascript
js+audio实现音乐播放器
Sep 13 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
Nov 17 Vue.js
JavaScript实现一键复制内容剪贴板
Jul 23 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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
两款万能的php分页类
2015/11/12 PHP
php+ajax 文件上传代码实例
2019/03/18 PHP
浅谈JavaScript之事件绑定
2013/07/08 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
js charAt的使用示例
2014/02/18 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
2014/03/05 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
jQuery获取radio选中项的值实例
2016/06/18 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
python实现超市扫码仪计费
2018/05/30 Python
Python Web框架之Django框架文件上传功能详解
2019/08/16 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
使用Python文件读写,自定义分隔符(custom delimiter)
2020/07/05 Python
学点简单的Django之第一个Django程序的实现
2021/02/24 Python
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
汽车工程专业应届生求职信
2013/10/19 职场文书
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
致跳远运动员广播稿
2014/02/11 职场文书
银行求职信怎么写
2014/05/26 职场文书
人事行政主管岗位职责
2015/04/09 职场文书
公司催款律师函
2015/05/27 职场文书
单独二胎证明
2015/06/24 职场文书
创业计划书详解
2019/07/19 职场文书