Java tutorial
//package com.java2s; /******************************************************************************* * Copyright (c) 2007-2012 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ import java.util.ArrayList; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class Main { public static Element createElement(Element parent, String path) { int i = path.indexOf('.'); if (i < 0) { Element element = parent.getOwnerDocument().createElement(path); parent.appendChild(element); return element; } String p = path.substring(0, i), c = path.substring(i + 1); Element pe = getUniqueChild(parent, p); if (pe == null) { pe = parent.getOwnerDocument().createElement(p); parent.appendChild(pe); } return createElement(pe, c); } public static Element getUniqueChild(Element parent, String name) { Element[] e = getChildren(parent, name); return (e.length == 0) ? null : e[0]; } public static Element[] getChildren(Element parent, String name) { ArrayList<Element> al = new ArrayList<Element>(); NodeList nl = parent.getChildNodes(); for (int i = 0; i < nl.getLength(); i++) { Node n = nl.item(i); if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equals(name)) { al.add((Element) n); } } return al.toArray(new Element[0]); } }