public interface NodeIterator
NodeIterators 用于遍历一组节点,例如在NodeList中的节点集,由特定Node管理的文档子树,查询结果或任何其他节点集。要遍历的节点集由NodeIterator的实现确定。DOM Level 2为文档子树的按顺序遍历指定了单个NodeIterator实现。通过调用DocumentTraversal.createNodeIterator()来创建这些NodeIterators的实例。
- 自从:
- 9,DOM Level 2
-
Method Summary
Modifier and TypeMethodDescriptionvoiddetach()从其遍历的集合中分离NodeIterator,释放任何计算资源,并将NodeIterator置于INVALID状态。boolean此标志的值确定实体引用节点的子节点是否对NodeIterator可见。用于筛选节点的NodeFilter。getRoot()NodeIterator的根节点,在创建时指定。int此属性确定通过NodeIterator呈现哪些节点类型。nextNode()返回集合中的下一个节点,并推进NodeIterator的位置。返回集合中的上一个节点,并将NodeIterator的位置向后移动。
-
Method Details
-
getRoot
Node getRoot()NodeIterator的根节点,在创建时指定。 -
getWhatToShow
int getWhatToShow()此属性确定通过NodeIterator呈现哪些节点类型。可用的常量集在NodeFilter接口中定义。不被whatToShow接受的节点将被跳过,但其子节点仍可能被考虑。请注意,此跳过优先于任何筛选器。 -
getFilter
NodeFilter getFilter()用于筛选节点的NodeFilter。 -
getExpandEntityReferences
boolean getExpandEntityReferences()此标志的值确定实体引用节点的子节点是否对NodeIterator可见。如果为false,则这些子节点及其后代将被拒绝。请注意,此拒绝优先于whatToShow和筛选器。还请注意,这是目前唯一一种情况,其中NodeIterators可能拒绝整个子树而不是跳过单个节点。
要生成一个展开实体引用并且不公开实体引用节点本身的文档视图,请使用whatToShow标志隐藏实体引用节点,并在创建NodeIterator时将expandEntityReferences设置为true。要生成具有实体引用节点但不展开实体的文档视图,请使用whatToShow标志显示实体引用节点,并将expandEntityReferences设置为false。 -
nextNode
返回集合中的下一个节点,并推进NodeIterator的位置。创建NodeIterator后,第一次调用nextNode()将返回集合中的第一个节点。- 返回:
-
正在遍历的集合中的下一个
Node,如果该集合中没有更多成员,则返回null。 - 抛出:
-
DOMException- INVALID_STATE_ERR: 如果在调用detach方法后调用此方法,则会引发异常。
-
previousNode
返回集合中的上一个节点,并将NodeIterator的位置向后移动。- 返回:
-
正在遍历的集合中的上一个
Node,如果该集合中没有更多成员,则返回null。 - 抛出:
-
DOMException- INVALID_STATE_ERR: 如果在调用detach方法后调用此方法,则会引发异常。
-
detach
void detach()从其遍历的集合中分离NodeIterator,释放任何计算资源,并将NodeIterator置于INVALID状态。调用detach后,对nextNode或previousNode的调用将引发异常INVALID_STATE_ERR。
-