Java tutorial
//package com.java2s; /* * Copyright 1999-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import org.w3c.dom.Element; import org.w3c.dom.Node; public class Main { /** * @param root * @param uri * @param nodeName * @return nodes with the constrain */ public static Element selectElement(Node node, String uri, String nodeName) { while (node != null) { if (nodeName.equals(node.getLocalName()) && uri.equals(node.getNamespaceURI())) return (Element) node; Element located = findElementinChilds(node, uri, nodeName); if (located != null) { return located; } } return null; } private static Element findElementinChilds(Node node, String uri, String nodeName) { for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling()) { if (child.getNodeType() == Node.ELEMENT_NODE) { Element childElement = (Element) child; if (nodeName.equals(childElement.getLocalName()) && uri.equals(childElement.getNamespaceURI())) { return (Element) childElement; } } Element located = findElementinChilds(child, uri, nodeName); if (located != null) { return located; } } return null; } }