/** * Populates the given Data object with information from the given element. */ private void parseElement(Element element, Data data) { NodeList nodeList = element.getChildNodes(); for (int i = 0; i < nodeList.getLength(); i++) { Node node = nodeList.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { Element child = (Element) node; if (hasClass(child, "gs:column")) { Column column = new Column(); column.setIndex(child.getAttribute("title")); column.setName(child.getTextContent()); data.addColumn(column); } else { parseElement(child, data); } } } } }