public interface NodeIterator
NodeIterators
用于遍历一组节点,例如 NodeList
中的节点集、由特定 Node
管理的文档子树、查询结果或任何其他节点集。要迭代的节点集由 NodeIterator
的实现确定。 DOM 级别 2 为文档子树的文档顺序遍历指定了单个NodeIterator
实现。这些 NodeIterators
的实例是通过调用 DocumentTraversal
.createNodeIterator()
创建的。
- 自从:
- 9、DOM 2级
-
方法总结
修饰符和类型方法描述void
detach()
将NodeIterator
从它迭代的集合中分离出来,释放所有计算资源并将NodeIterator
置于无效状态。boolean
此标志的值确定实体引用节点的子节点是否对NodeIterator
可见。NodeFilter
用于筛选节点。getRoot()
NodeIterator
的根节点,在创建时指定。int
此属性确定哪些节点类型通过NodeIterator
呈现。nextNode()
返回集合中的下一个节点并推进集合中NodeIterator
的位置。返回集合中的前一个节点并将NodeIterator
在集合中的位置向后移动。
-
方法详情
-
getRoot
Node getRoot()NodeIterator
的根节点,在创建时指定。 -
getWhatToShow
int getWhatToShow()此属性确定哪些节点类型通过NodeIterator
呈现。可用的常量集在NodeFilter
接口中定义。whatToShow
不接受的节点将被跳过,但仍可能考虑其子节点。请注意,此跳过优先于过滤器(如果有)。 -
getFilter
NodeFilter getFilter()NodeFilter
用于筛选节点。 -
getExpandEntityReferences
boolean getExpandEntityReferences()此标志的值确定实体引用节点的子节点是否对NodeIterator
可见。如果为假,这些孩子和他们的后代将被拒绝。请注意,此拒绝优先于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
置于无效状态。在调用detach
之后,调用nextNode
或previousNode
将引发异常 INVALID_STATE_ERR。
-