public interface NodeIterator
NodeIterators
用于遍历一组节点,例如在NodeList
中的节点集,由特定Node
管理的文档子树,查询结果或任何其他节点集。要遍历的节点集由NodeIterator
的实现确定。DOM Level 2为文档子树的按顺序遍历指定了单个NodeIterator
实现。通过调用DocumentTraversal
.createNodeIterator()
来创建这些NodeIterators
的实例。
- 自从:
- 9,DOM Level 2
-
Method Summary
Modifier and TypeMethodDescriptionvoid
detach()
从其遍历的集合中分离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。
-