Module  java.xml
软件包  org.w3c.dom.traversal

Interface NodeIterator



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

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

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

      所有方法  接口方法  抽象方法 
      Modifier and Type 方法 描述
      void detach​()
      从它迭代的集合中分离出 NodeIterator ,释放任何计算资源,并将 NodeIterator置于INVALID状态。
      boolean getExpandEntityReferences​()
      该标志的值确定实体引用节点的子节点是否可见 NodeIterator
      NodeFilter getFilter​()
      NodeFilter用于屏幕节点。
      Node getRoot​()
      NodeIterator ,在创建时指定。
      int getWhatToShow​()
      此属性确定通过 NodeIterator呈现哪些节点类型。
      Node nextNode​()
      返回集合中的下一个节点,并将集合中的 NodeIterator的位置 NodeIterator
      Node previousNode​()
      返回集合中的上一个节点,并将集合中的 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 创建NodeIterator之后,首次调用nextNode()返回集合中的第一个节点。
        结果
        下一个 Node在集合中迭代,或 null如果没有更多的成员在该集合。
        异常
        DOMException - INVALID_STATE_ERR:在调用 detach方法后调用 detach方法时引发。
      • previousNode

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

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