当前位置: 首页 > 面试题库 >

我可以在Java中使用for-each遍历NodeList吗?

澹台宾白
2023-03-14
问题内容

我想NodeList在Java中使用for-each循环进行迭代。我有一个for循环和一个do-while循环,但没有for-each。

NodeList nList = dom.getElementsByTagName("year");
do {
    Element ele = (Element) nList.item(i);
    list.add(ele.getElementsByTagName("MonthId").item(0).getTextContent());
    i++;
} while (i < nList.getLength());

NodeList nList = dom.getElementsByTagName("year");

for (int i = 0; i < nList.getLength(); i++) {
    Element ele = (Element) nList.item(i);
    list.add(ele.getElementsByTagName("MonthId").item(0).getTextContent());
}

问题答案:

此问题的解决方法很简单,值得庆幸的是,您只需实现一次即可。

import java.util.*;
import org.w3c.dom.*;

public final class XmlUtil {
  private XmlUtil(){}

  public static List<Node> asList(NodeList n) {
    return n.getLength()==0?
      Collections.<Node>emptyList(): new NodeListWrapper(n);
  }
  static final class NodeListWrapper extends AbstractList<Node>
  implements RandomAccess {
    private final NodeList list;
    NodeListWrapper(NodeList l) {
      list=l;
    }
    public Node get(int index) {
      return list.item(index);
    }
    public int size() {
      return list.getLength();
    }
  }
}

在将此实用程序类添加到项目中并static importXmlUtil.asList源代码添加方法的后,您可以像这样使用它:

for(Node n: asList(dom.getElementsByTagName("year"))) {
  …
}


 类似资料:
  • 我想在Java中使用for-each循环迭代节点列表。我有一个for循环和do-while循环,但不是每个循环都有。

  • 问题内容: 我想遍历XML打印中的所有元素。我的问题是,在标记之后,我一直收到空指针异常,即 这是我的Java代码,用于打印xml文件中的所有元素: XML档案: 预期产量: 问题答案: 遍历所有子项,并用于过滤出文本节点。如果XML中没有其他内容,则剩下的是人员节点。 对于资料下的每个节点(名称,电话,电子邮件,区域,城市) 会在“东西”下提取“名称”节点,为 您提供第一个节点,并在其中获取文本

  • 问题内容: 我在使用AngularJS ng-repeat时遇到了一些麻烦。这是我所拥有的: modal.data.answer数组将始终包含六个元素。我可以使用ng-repeat为其创建HTML并让它甚至重复数组中的[x]个数字,并让“ selected =”的第一行中的数字从3递增到8吗? 就我所知,我可以使用,但如何将t的值转化为类似的东西: 问题答案: 您的编辑以正确的方式进行,您可以轻松

  • 正如我们所知,没有任何规定可以防止多个线程使用方法调用方法。我确实创建了两个对象和都调用同一个线程来运行。 我需要在第二个对象开始执行之前,通过调用线程来确保第一个对象完成()其执行。 我的问题是为什么我不能在我创建的线程(即)中使用关键字? 我尝试在我创建的线程中使用“同步”来运行()方法,但它给出了任意输出(换句话说,不等待完成执行)。 你可以在程序的最底层看到我得到的输出。 正如您所看到的,

  • 本文向大家介绍jQuery使用each遍历循环的方法,包括了jQuery使用each遍历循环的方法的使用技巧和注意事项,需要的朋友参考一下 1、选择器+遍历 2、选择器+遍历 3、更适用的遍历方法 1)先获取某个集合对象 2)遍历集合对象的每一个元素 下面看下jQuery 遍历 - each() 方法 总结 以上所述是小编给大家介绍的jQuery使用each遍历循环的方法,希望对大家有所帮助,如果

  • 本文向大家介绍JQuery中使用.each()遍历元素学习笔记,包括了JQuery中使用.each()遍历元素学习笔记的使用技巧和注意事项,需要的朋友参考一下 今天写一个选项卡的时候,需要用到jquery中的.each(),通过获取each()中的index参数来获取li元素的编号,方便下面区块显示,在一个测试页面上写好了下面的代码: 测试的结果是正常,后来在一个实际使用的页面中使用的时候,发现上