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

在JavaScript中访问不同层次结构级别的重复XML标记,javascript,jquery,xml,Javascript,Jquery,Xml,我有一个XML文件,它使用以下层次结构 item item (item details) item (item details) item item (item details) item (item details) item (item details) 等等 我希望能够访问第

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

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

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

如何检索每个第一级项目,然后将其用作访问其中的项目的引用(以便每次处理一个第二级项目)


尽可能清楚地表达这一点,我不喜欢重复使用“item”标签,但遗憾的是,这超出了我的控制范围。。谢谢。

我建议换一种方式:

  • $(“项目>项目”)
    仅允许您访问第二级项目标记
  • 对于每个第二级项目,使用parent()访问相关的第一级项目
您还可以使用
$(“项”)
获取所有项,然后使用
$(this)。在循环中查找(“项”)
以获取第二级项。如果
$(this).find(“项”)
的长度为0,则表示
this
是第二行项:

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

我建议用另一种方式:

  • $(“项目>项目”)
    仅允许您访问第二级项目标记
  • 对于每个第二级项目,使用parent()访问相关的第一级项目
您还可以使用
$(“项”)
获取所有项,然后使用
$(this)。在循环中查找(“项”)
以获取第二级项。如果
$(this).find(“项”)
的长度为0,则表示
this
是第二行项:

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

我不是要给我一个完整的解决方案,只是一个伪代码风格的实现方法。很明显,我可以静态编码,循环遍历每个项目,但这取决于我知道每个级别有多少个项目,每次都会改变。。我坐在那里用笔和纸试着解决这个问题,但我真的不知道从哪里开始,以及如何区分每个层次——这不是重点。展示你开始的内容是你能力水平的一个重要指标,这有助于产生一个合适的答案。我很抱歉,下次我会记住这一点。我不是想要给我一个完整的解决方案,只是一个伪代码风格的实现方法。很明显,我可以静态编码,循环遍历每个项目,但这取决于我知道每个级别有多少个项目,每次都会改变。。我坐在那里用笔和纸试着解决这个问题,但我真的不知道从哪里开始,以及如何区分每个层次——这不是重点。展示你一开始的能力是你能力水平的一个重要指标,这有助于产生一个合适的答案。我很抱歉,下次我会记住这一点。这正是我无法想象的逻辑,比我预期的要多,谢谢。这正是我无法想象的逻辑,比我想象的要多,谢谢。