-
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。
-
-