java.lang.Object
javax.swing.text.ElementIterator
- 所有已实现的接口:
-
Cloneable
ElementIterator
,顾名思义,用于遍历Element
树。构造函数可以接受Document
或Element
作为参数。如果使用Document
作为参数调用构造函数,则迭代的根是document.getDefaultRootElement()
的返回值。
遍历以深度优先方式进行。关于如何处理边界条件:
ElementIterator
不对Element
树进行任何锁定。这意味着它不会跟踪任何更改。使用此类的用户有责任确保在元素迭代期间不会发生更改。
简单的使用示例:
public void iterate() {
ElementIterator it = new ElementIterator(root);
Element elem;
while (true) {
if ((elem = it.next()) != null) {
// 处理元素
System.out.println("elem: " + elem.getName());
} else {
break;
}
}
}
-
Constructor Summary
ConstructorDescriptionElementIterator
(Document document) 创建一个新的ElementIterator
。ElementIterator
(Element root) 创建一个新的ElementIterator
。 -
Method Summary
-
Constructor Details
-
ElementIterator
创建一个新的ElementIterator
。根元素用于获取文档的默认根元素。- 参数:
-
document
- 一个Document
-
ElementIterator
创建一个新的ElementIterator
。- 参数:
-
root
- 根Element
-
-
Method Details
-
clone
克隆ElementIterator
。 -
first
获取第一个元素。- 返回:
-
一个
Element
-
depth
public int depth()获取元素树的当前深度。- 返回:
- 深度
-
current
获取当前Element
。- 返回:
-
栈顶的元素或
null
(如果根元素为null
)
-
next
获取下一个Element
。用于定位下一个元素的策略是深度优先搜索。- 返回:
-
下一个元素或列表结束时返回
null
-
previous
获取前一个Element
。但是,如果当前元素是最后一个元素,或当前元素为null
,则返回null
。- 返回:
-
如果可用,则返回前一个
Element
-