模块  java.xml
软件包  org.w3c.dom.traversal

Interface NodeIterator


  • public interface NodeIterator
    NodeIterators用于遍历一组节点,例如NodeList的节点集,由特定Node管理的文档子树,查询结果或任何其他节点集。 要迭代的节点集由NodeIterator的实现确定。 DOM Level 2指定用于文档子树的文档顺序遍历的单个NodeIterator实现。 这些NodeIterators实例是通过致电DocumentTraversal .createNodeIterator()创建的。

    另见Document Object Model (DOM) Level 2 Traversal and Range Specification

    从以下版本开始:
    9,DOM Level 2
    • 方法摘要

      所有方法  实例方法 抽象方法 
      变量和类型 方法 描述
      void detach()
      NodeIterator与其迭代的集合分离,释放任何计算资源并将 NodeIterator置于INVALID状态。
      boolean getExpandEntityReferences()
      此标志的值确定实体引用节点的子节点是否对 NodeIterator可见。
      NodeFilter getFilter()
      NodeFilter用于屏幕节点。
      Node getRoot()
      NodeIterator ,在创建时指定。
      int getWhatToShow()
      此属性确定通过 NodeIterator呈现的节点类型。
      Node nextNode()
      返回集合中的下一个节点,并提升集合中 NodeIterator的位置。
      Node previousNode()
      返回集合中的上一个节点,并在 NodeIterator向后移动 NodeIterator的位置。
    • 方法详细信息

      • getRoot

        Node getRoot()
        NodeIterator ,在创建时指定。
      • getWhatToShow

        int getWhatToShow()
        此属性确定通过NodeIterator呈现的节点类型。 可用的常量集在NodeFilter接口中定义。 whatToShow不接受的whatToShow将被跳过,但仍可考虑他们的孩子。 请注意,此跳过优先于过滤器(如果有)。
      • getFilter

        NodeFilter getFilter()
        NodeFilter用于屏幕节点。
      • getExpandEntityReferences

        boolean getExpandEntityReferences()
        此标志的值确定实体引用节点的子节点是否对NodeIterator可见。 如果不对,这些孩子及其后代将被拒绝。 请注意,此拒绝优先于whatToShow和过滤器。 另请注意,这是目前唯一的情况,即NodeIterators可能会拒绝完整的子树而不是跳过单个节点。

        为了产生具有扩展实体引用,并没有露出实体引用节点自身的文档视图,使用whatToShow标志隐藏实体引用节点并设置expandEntityReferences创建时为true NodeIterator 要生成具有实体引用节点但没有实体扩展的文档视图,请使用whatToShow标志显示实体引用节点并将expandEntityReferences设置为false。
      • nextNode

        Node nextNode()       throws DOMException
        返回集合中的下一个节点,并使集合中的NodeIterator的位置前进。 创建NodeIterator后,第一次调用nextNode()将返回集合中的第一个节点。
        结果
        正在迭代的集合中的下一个 Node ,或者如果该集合中没有更多成员, null
        异常
        DOMException - INVALID_STATE_ERR:如果在调用 detach方法后调用此方法,则 detachdetach
      • previousNode

        Node previousNode()           throws DOMException
        返回集合中的上一个节点,并在 NodeIterator向后移动 NodeIterator的位置。
        结果
        正在迭代的集合中的先前 Node ,或者如果该集合中没有更多成员, null
        异常
        DOMException - INVALID_STATE_ERR:如果在调用 detach方法后调用此方法,则 detachdetach
      • detach

        void detach()
        NodeIterator与其迭代的集合分离,释放任何计算资源并将NodeIterator置于INVALID状态。 调用detach后,调用nextNodepreviousNode将引发异常INVALID_STATE_ERR。