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也能包含文件
Oct 26 Javascript
基于jquery的jqDnR拖拽溢出的修改
Feb 12 Javascript
JavaScript中的prototype和constructor简明总结
Apr 05 Javascript
jQuery实现checkbox全选的方法
Jun 10 Javascript
JavaScript统计网站访问次数的实现代码
Nov 18 Javascript
vue中mint-ui环境搭建详细介绍
Apr 06 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
Jul 27 Javascript
关于JavaScript的单双引号嵌套问题
Aug 20 Javascript
微信小程序实现文字无限轮播效果
Dec 28 Javascript
vue里的data要用return返回的原因浅析
May 28 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
Sep 27 Javascript
js实现html滑动图片拼图验证
Jun 24 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 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
PHP用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
PHP类与对象中的private访问控制的疑问
2012/11/01 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
php mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
php用户注册信息验证正则表达式
2015/11/12 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
2016/11/02 PHP
php操作access数据库的方法详解
2017/02/22 PHP
Yii框架小部件(Widgets)用法实例详解
2020/05/15 PHP
如何防止JavaScript自动插入分号
2015/11/05 Javascript
Three.js快速入门教程
2016/09/09 Javascript
JavaScript学习笔记整理_关于表达式和语句
2016/09/19 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
BootStrap中
2016/12/10 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
前端天气插件tpwidget使用方法详解
2019/06/24 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
使用python装饰器验证配置文件示例
2014/02/24 Python
python查询mysql中文乱码问题
2014/11/09 Python
python安装Scrapy图文教程
2017/08/14 Python
详解如何修改python中字典的键和值
2020/09/29 Python
用HTML5实现鼠标滚轮事件放大缩小图片的功能
2015/06/25 HTML / CSS
高一自我鉴定
2013/12/17 职场文书
企业标语口号
2014/06/10 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
大学生在校表现评语
2014/12/31 职场文书
2015年高中生国庆节演讲稿
2015/07/30 职场文书
退休职工欢送会致辞
2015/08/01 职场文书
HTML5来实现本地文件读取和写入的实现方法
2021/05/25 HTML / CSS
PHP 时间处理类Carbon
2022/05/20 PHP