js使用递归解析xml

前端技术 2023/09/09 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的全部代码了,超级简洁,非常使用,给需要的小伙伴参考下。

本文地址:https://www.stayed.cn/item/24217

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。