-
public interface NodeIterator
NodeIterators
用于步骤通过一组节点,例如,在该组节点NodeList
,文档子树由一个特定的管辖Node
,一个查询的结果,或者任何其它组节点。 要迭代的节点集由NodeIterator
的实现NodeIterator
。 DOM Level 2指定文档顺序遍历文档子树的单个NodeIterator
实现。 这些NodeIterators
实例是通过调用DocumentTraversal
.createNodeIterator()
创建的。另见Document Object Model (DOM) Level 2 Traversal and Range Specification 。
- 从以下版本开始:
- 9,DOM Level 2
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 void
detach()
从它迭代的集合中分离出NodeIterator
,释放任何计算资源,并将NodeIterator
置于INVALID状态。boolean
getExpandEntityReferences()
该标志的值确定实体引用节点的子节点是否可见NodeIterator
。NodeFilter
getFilter()
NodeFilter
用于屏幕节点。Node
getRoot()
NodeIterator
,在创建时指定。int
getWhatToShow()
此属性确定通过NodeIterator
呈现哪些节点类型。Node
nextNode()
返回集合中的下一个节点,并将集合中的NodeIterator
的位置NodeIterator
。Node
previousNode()
返回集合中的上一个节点,并将集合中的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
。 创建NodeIterator
之后,首次调用nextNode()
返回集合中的第一个节点。- 结果
-
下一个
Node
在集合中迭代,或null
如果没有更多的成员在该集合。 - 异常
-
DOMException
- INVALID_STATE_ERR:在调用detach
方法后调用detach
方法时引发。
-
previousNode
Node previousNode() throws DOMException
返回集合中的上一个节点,并将NodeIterator
的位置向后移动。- 结果
-
以前的
Node
在集合中被迭代,或null
如果没有更多的成员在该集合。 - 异常
-
DOMException
- INVALID_STATE_ERR:在调用detach
方法后调用detach
方法时引发。
-
detach
void detach()
从它迭代的集合中分离出NodeIterator
,释放任何计算资源,并将NodeIterator
置于INVALID状态。detach
被调用后,调用nextNode
或previousNode
将引发异常INVALID_STATE_ERR。
-
-