js使用递归解析xml
更新时间:2014年12月12日 10:24:31 投稿:hebedich
这篇文章主要介绍了js使用递归解析xml,需要的朋友可以参考下
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的全部代码了,超级简洁,非常使用,给需要的小伙伴参考下。
相关文章
从数据结构的角度分析 for each in 比 for in 快的多
今天仔细琢磨了会,从数据结构的角度分析了下,觉得for in和for each in效率上有着本质的区别,无论是JS还是AS2013-07-07
最新评论