模块  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方法后调用此方法,则 detach此 detach 。
      • previousNode

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

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