在JavaScript中访问不同层次结构级别的重复XML标记

时间:2013-03-05 19:05:33

标签: javascript jquery xml

我有一个XML文件,它使用以下层次结构;

    item
        item
            (item details)
        item
            (item details)
    item
        item
            (item details)
        item
            (item details)
        item
            (item details)

等。

我希望能够访问第一级的每个“项目”标签,并为每个标签访问该项目(第二级)中的项目并将其详细信息(第三级别)分配给单个对象对于每个第二级项目。我可以使用jQuery为每个商品标签进行搜索,但这显然会在两个级别上都通过“item”标签,而不仅仅是第一级。

如何检索每个第一级项目,然后使用它作为参考来访问其中的项目(因此每个第二级项目一次处理一个)?

试图尽可能清楚地说出这一点,我不喜欢重复使用“item”标签,但遗憾的是我无法控制..谢谢。

1 个答案:

答案 0 :(得分:3)

我建议反过来做这件事:

  • $("item>item")只允许您访问二级商品标记。
  • 对于每个第二级项目,使用parent()访问相关的第一级项目

您还可以使用$("item")获取所有项目,然后在循环中使用$(this).find("item")来获取第二级项目。如果$(this).find("item")的长度为0,则表示this是第二行项目:

$("item").each(function(){
    var childrenItems=$(this).find("item");
    if (childrenItems.length) {
        // process the children items
    }
});