js使用递归解析xml
xml结构:
<RightMenuItems> <ItemCode="New"Name="新建"GroupCode="Edit"GroupName="编辑"/> <ItemCode="Open"Name="打开"GroupCode="Edit"GroupName="编辑"> <itemCode="Word"Name="Word文档"GroupCode="CommonDocument"GroupName="常规"/> <itemCode="Excel"Name="Excel文档"GroupCode="CommonDocument"GroupName="常规"/> <itemCode="CustomDocument"Name="自定义文档"GroupCode="CustomDocument"GroupName="自定义"/> </Item> <ItemCode="Save"Name="保存"GroupCode="Edit"GroupName="编辑"/> <ItemCode="Exit"Name="离开"GroupCode="Exit"GroupName="离开"/> </RightMenuItems>
解析方法:
$(xml).find("RightMenuItems").each(function(){ this.data=Traversal($(this).children()); }); varTraversal=function(nodes){ varitemList=newArray(); $.each(nodes,function(){ varentity=newRightMenuEntity(); varobj=$(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); }); returnitemList; };
以上就是javascript使用递归解析XML的全部代码了,超级简洁,非常使用,给需要的小伙伴参考下。