-  
       
public interface NodeIteratorNodeIterators用于遍历一组节点,例如NodeList的节点集,由特定Node管理的文档子树,查询结果或任何其他节点集。 要迭代的节点集由NodeIterator的实现确定。 DOM Level 2指定用于文档子树的文档顺序遍历的单个NodeIterator实现。 这些NodeIterators实例是通过致电DocumentTraversal.createNodeIterator()创建的。另见Document Object Model (DOM) Level 2 Traversal and Range Specification 。
- 从以下版本开始:
 - 9,DOM Level 2
 
 
-  
        
       
-  
             
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 voiddetach()将NodeIterator与其迭代的集合分离,释放任何计算资源并将NodeIterator置于INVALID状态。booleangetExpandEntityReferences()此标志的值确定实体引用节点的子节点是否对NodeIterator可见。NodeFiltergetFilter()NodeFilter用于屏幕节点。NodegetRoot()NodeIterator,在创建时指定。intgetWhatToShow()此属性确定通过NodeIterator呈现的节点类型。NodenextNode()返回集合中的下一个节点,并提升集合中NodeIterator的位置。NodepreviousNode()返回集合中的上一个节点,并在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创建时为trueNodeIterator。 要生成具有实体引用节点但没有实体扩展的文档视图,请使用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。 
 -  
 
 -