Java tutorial
//package com.java2s; /******************************************************************************* * Copyright (c) 2016 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 * William Collins punkhornsw@gmail.com ******************************************************************************/ import org.w3c.dom.Element; import org.w3c.dom.Node; public class Main { public static Element lastChildElementWithName(Element elem, String name) { if (elem == null) { return null; } for (Element e = getLastChildElement(elem); e != null; e = getPreviousSiblingElement(e)) { if (e.getTagName().equals(name)) { return (Element) e; } } return null; } public static Element getLastChildElement(Element elem) { if (elem == null) { return null; } for (Node n = elem.getLastChild(); n != null; n = n.getPreviousSibling()) { if (n.getNodeType() == Node.ELEMENT_NODE) { return (Element) n; } } return null; } public static Element getPreviousSiblingElement(Element elem) { if (elem == null) { return null; } for (Node n = elem.getPreviousSibling(); n != null; n = n.getPreviousSibling()) { if (n.getNodeType() == Node.ELEMENT_NODE) { return (Element) n; } } return null; } }