Here you can find the source of selectElementsByAttributeValue(Element element, String name, String attribute, String value, boolean returnFirst)
Parameter | Description |
---|---|
element | the containing Element |
name | the tag name |
attribute | Attribute name |
value | Attribute value |
returnFirst | Return only the first matching value? |
public static List selectElementsByAttributeValue(Element element, String name, String attribute, String value, boolean returnFirst)
//package com.java2s; /********************************************************************************** * * Copyright (c) 2003, 2004, 2007, 2008 The Sakai Foundation * * Licensed under the Educational Community 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.opensource.org/licenses/ECL-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./* w ww . j a v a 2 s. com*/ * **********************************************************************************/ import java.util.*; import org.w3c.dom.*; public class Main { /** * Return a list of named Elements with a specific attribute value. * @param element the containing Element * @param name the tag name * @param attribute Attribute name * @param value Attribute value * @return List of matching elements */ public static List selectElementsByAttributeValue(Element element, String name, String attribute, String value) { return selectElementsByAttributeValue(element, name, attribute, value, false); } /** * Return a list of named Elements with a specific attribute value. * @param element the containing Element * @param name the tag name * @param attribute Attribute name * @param value Attribute value * @param returnFirst Return only the first matching value? * @return List of matching elements */ public static List selectElementsByAttributeValue(Element element, String name, String attribute, String value, boolean returnFirst) { NodeList elementList = element.getElementsByTagName(name); List resultList = new ArrayList(); for (int i = 0; i < elementList.getLength(); i++) { if (getAttribute((Element) elementList.item(i), attribute) .equals(value)) { resultList.add(elementList.item(i)); if (returnFirst) { break; } } } return resultList; } /** * Get an Attribute from an Element. Returns an empty String if none found * @param element the containing Element * @param name the attribute name * @return Attribute as a String */ public static String getAttribute(Element element, String name) { return element.getAttribute(name); } }