Iterable getChildElements(final Element e : DOM Element « XML « Java

Iterable getChildElements(final Element e

 * Copyright (C) 2007  Vianney le Clment
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <>.

import java.util.Iterator;

import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class Util{
   * Renvoie les lments enfants (uniquement de type ELEMENT)
   * @param e
   * @return
  public static Iterable<Element> getChildElements(final Element e) {
    return new Iterable<Element>() {
      public Iterator<Element> iterator() {
        final NodeList list = e.getChildNodes();
        int i = 0;
        for (; i < list.getLength(); i++) {
          if (list.item(i).getNodeType() == Node.ELEMENT_NODE)
        final int init = i;
        return new Iterator<Element>() {
          int cur = init;

          public void remove() {
            throw new UnsupportedOperationException();

          public Element next() {
            Element item = (Element) list.item(cur);
            for (cur++; cur < list.getLength(); cur++) {
              if (list.item(cur).getNodeType() == Node.ELEMENT_NODE)
            return item;

          public boolean hasNext() {
            return cur < list.getLength();




Related examples in the same category

1.Add Text object to an Element.
2.Add a new element to the given parent
3.Add an entity to a specified Element.
4.Adds the child element with the given text
5.Clean text from Node
6.Compare two DOM Nodes
7.Compare two DOM Nodes from JBoss
8.Create New Element And Set
9.Create New Element And Set Attribute
10.Create a new element
11.Find All Elements By Tag Name
12.Find All Elements By Tag Name Name Space
13.Find Element And Set Or Create And Set
14.Find Element Or Container
15.Find Element Or Create And Attribute
16.Find Element Or Create And Set
17.Find Element Or Create And Set Attribute
18.Get Element Boolean Value
19.Get Element Date Value
20.Get Element Float Value
21.Get Element Int Value
22.Get Element Long Value
23.Get Element QName
24.Get Element String Value
25.Get Element Text
26.Get Elements by parent element
27.Get First Element
28.Get Next Element
29.Get child from an element by name
30.Get content from element
31.Get the content of an optional child element
32.Get the content of the given element.
33.Get the first child element
34.Get the first text node associated with this element
35.Get the next sibling element
36.Get the next sibling with the same name and type
37.Get the raw text content of a node or null if there is no text
38.Get the specified text node associated with this element
39.Get the trimed text content of a node or null if there is no text
40.Get trimmed text content of a node or null if there is no text
41.Gets the child of the specified element having the specified unique name
42.Has Attribute
43.Remove Attribute
44.DOM Util: get Element Text
45.DOM helper for root element
46.Return a list of named Elements with a specific attribute value.
47.Return a list of named Elements.
48.Return child elements with specified name.
49.Return the first element child with the specified qualified name.
50.Return the first named Element found. Null if none.
51.Returns a list of child elements with the given name.
52.Returns an array of text values of a child element.
53.Returns an iterator over the children of the given element with the given tag name.
54.Returns text value of a child element. Returns null if there is no child element found.
55.Returns the first child element with the given name.
56.Returns the first element that has the specified local name.
57.Returns the text of the element
58.Moves the content of the given element to the given element
59.Import Elements
60.Find Container Else Create One
61.Create New Container
62.Macro to get the content of a unique child element.
63.Convert node element To String
64.Convert Element To Stream
65.Get the first element child.
66.Use the Document.getElementsByTagName() method to quickly and easily locate elements by name.
67.Get element by tag from Element
68.Get element by tag from Document