模块  java.desktop
软件包  javax.swing.text

Class ElementIterator

  • 实现的所有接口
    Cloneable

    public class ElementIterator
    extends Object
    implements Cloneable

    顾名思义,ElementIterator迭代Element树。 可以使用Document或Element作为参数调用构造函数。 如果使用Document作为参数调用构造函数,则迭代的根是document.getDefaultRootElement()的返回值。 迭代以深度优先的方式发生。 在如何处理边界条件方面:a)如果在first()或current()之前调用next(),则返回根。 b)next()返回null以指示列表的结尾。 c)当当前元素是root或者next()返回null时,previous()返回null。 ElementIterator不会锁定Element树。 这意味着它不会跟踪任何更改。 此类的用户有责任确保在元素迭代期间不发生任何更改。 简单用法示例: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。
        重写:
        clone在课堂上 Object
        结果
        克隆的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如果有)