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 核心函数以及jQuery对象
Mar 23 Javascript
jquery.tmpl JQuery模板插件
Oct 10 Javascript
javascript实现显示和隐藏div方法汇总
Aug 14 Javascript
jquery实现的V字形显示效果代码
Oct 27 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
Nov 30 Javascript
javascript加减乘除的简单实例
Jul 12 Javascript
基于jQuery实现滚动刷新效果
Jan 09 Javascript
javaScript嗅探执行神器-sniffer.js
Feb 14 Javascript
vue.js事件处理器是什么
Mar 20 Javascript
JS实现按钮颜色切换效果
Sep 05 Javascript
vue 项目中使用Loading组件的示例代码
Aug 31 Javascript
javascript全局自定义鼠标右键菜单
Dec 08 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
第七节 类的静态成员 [7]
2006/10/09 PHP
PHP分页显示制作详细讲解
2006/10/09 PHP
无数据库的详细域名查询程序PHP版(2)
2006/10/09 PHP
PHP中的integer类型使用分析
2010/07/27 PHP
常用PHP框架功能对照表
2014/10/23 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
Javascript实例教程(19) 使用HoTMetal(3)
2006/12/23 Javascript
项目实践之javascript技巧
2007/12/06 Javascript
javascript 自动填写表单的实现方法
2010/04/09 Javascript
如何获取JQUERY AJAX返回的JSON结果集实现代码
2012/12/10 Javascript
我的NodeJs学习小结(一)
2014/07/06 NodeJs
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
vue实现动态数据绑定
2017/04/28 Javascript
原生js封装运动框架的示例讲解
2017/10/01 Javascript
VUE v-for循环中每个item节点动态绑定不同函数的实例
2018/09/26 Javascript
用js编写留言板
2020/03/17 Javascript
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
django定期执行任务(实例讲解)
2017/11/03 Python
深入理解Python分布式爬虫原理
2017/11/23 Python
Python文本处理之按行处理大文件的方法
2018/04/09 Python
python爬虫获取新浪新闻教学
2018/12/23 Python
python实现猜拳小游戏
2020/04/05 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
Python循环实现n的全排列功能
2019/09/16 Python
python 使用shutil复制图片的例子
2019/12/13 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
使用canvas一步步实现图片打码功能的方法
2019/06/17 HTML / CSS
大学生职业规划前言模板
2013/12/27 职场文书
经销商会议欢迎词
2014/01/11 职场文书
项目合作协议书范本
2014/04/16 职场文书
2014年医院十一国庆节活动方案
2014/09/15 职场文书
大学开学感言
2015/08/01 职场文书