js使用递归解析xml
作者:bea
xml结构: 代码如下: <RightMenuItems> <Item Code="New" Name="新建" GroupCode="Edit" GroupName="编辑"/> <Item Code="Open" Name="打开" GroupCode="Edit" GroupName="编辑"> <item Code="Word" Name="Word文档" GroupCode="CommonDocument"
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的全部代码了,超级简洁,非常使用,给需要的小伙伴参考下。
有用 | 无用
代码如下:
<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实现表单提交时判断的方法
- js实现iframe跨页面调用函数的方法
- javascript里使用php代码实例
- jQuery使用height()获取高度需要注意的地方
- js与css实现弹出层覆盖整个页面的方法
- jQuery对于显示和隐藏等常用状态的判断方法
- js QQ客服悬浮效果实现代码
- 重写document.write实现无阻塞加载js广告(补充)
- js中document.write的那点事
- 让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
- jQuery实现瀑布流布局
- jquery+ajax验证不通过也提交表单问题处理
- js 左右悬浮对联广告代码示例
- 原生JavaScript+LESS实现瀑布流
- jquery禁止回车触发表单提交
- 完美兼容各大浏览器的jQuery插件实现图片切换特效
- windows8.1+iis8.5下安装node.js开发环境
- jQuery 和 CSS 的文本特效插件集锦