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
ConstructorsConstructorDescriptionElementIterator(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
-