Module  java.desktop
软件包  javax.swing.text

Class ElementIterator

  • All Implemented Interfaces:
    Cloneable


    public class ElementIterator
    extends Object
    implements Cloneable

    ElementIterator,顾名思义,遍历Element树。 可以使用Document或Element作为参数来调用构造函数。 如果使用Document作为参数调用构造函数,则迭代的根是document.getDefaultRootElement()的返回值。 迭代以深度优先的方式发生。 关于边界条件如何处理:a)如果在first()或current()之前调用next(),则返回根。 b)next()返回null表示列表的结尾。 c)previous()当当前元素为根或next()返回null时返回null。 ElementIterator没有锁定元素树。 这意味着它不会跟踪任何更改。 这个类的用户有责任确保在元素迭代期间不发生变化。 简单的使用示例:public void iterate(){ElementIterator it = new ElementIterator(root); 元素元素 while(true){if((elem = next())!= null){// process element System.out.println(“elem:”+ elem.getName()); } else {break; }}}

    • 构造方法详细信息

      • ElementIterator

        public ElementIterator​(Document document)
        创建一个新的ElementIterator。 根元素被用来获取文档的默认根元素。
        参数
        document - 一份文件。
      • ElementIterator

        public ElementIterator​(Element root)
        创建一个新的ElementIterator。
        参数
        root - 根元素。
    • 方法详细信息

      • clone

        public Object clone​()
        克隆ElementIterator。
        重写:
        cloneObject
        结果
        一个克隆的ElementIterator对象。
        另请参见:
        Cloneable
      • first

        public Element first​()
        获取第一个元素
        结果
        元素
      • depth

        public int depth​()
        获取元素树的当前深度。
        结果
        深度。
      • current

        public Element current​()
        获取当前元素。
        结果
        元素在堆栈顶部或 null如果根元素是 null
      • next

        public Element next​()
        获取下一个元素。 用于定位下一个元素的策略是深度优先搜索。
        结果
        下一个元素或 null在列表的末尾。
      • previous

        public Element previous​()
        获取上一个元素。 然而,如果当前元素是最后一个元素,或者当前元素为null,则返回null。
        结果
        以前的 Element如果有)