Mega Code Archive

 
Categories / Java Tutorial / XML
 

Finds and returns the next sibling node with the given name and attribute name, value pair

import org.w3c.dom.Element; import org.w3c.dom.Node; /*  * Licensed to the Apache Software Foundation (ASF) under one or more  * contributor license agreements.  See the NOTICE file distributed with  * this work for additional information regarding copyright ownership.  * The ASF licenses this file to You 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.  */ public class Main {   /**    * Finds and returns the next sibling node with the given name and    * attribute name, value pair. Since only elements have attributes,    * the node returned will be of type Node.ELEMENT_NODE.    */   public static Element getNextSiblingElement(Node   node,           String elemName,           String attrName,           String attrValue) {              // search for node       Node sibling = node.getNextSibling();       while (sibling != null) {           if (sibling.getNodeType() == Node.ELEMENT_NODE) {               Element element = (Element)sibling;               if (element.getNodeName().equals(elemName) &&                       element.getAttribute(attrName).equals(attrValue)) {                   return element;               }           }           sibling = sibling.getNextSibling();       }              // not found       return null;          } // getNextSiblingElement(Node,String,String,String):Element }