Here you can find the source of selectFirstElementByAttributeValueNS( String namespace, Element element, String name, String attribute, String value)
Parameter | Description |
---|---|
element | the containing Element |
name | the tag name |
attribute | Attribute name |
value | Attribute value |
public static Element selectFirstElementByAttributeValueNS( String namespace, Element element, String name, String attribute, String value)
//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 a2s.com*/ * **********************************************************************************/ import java.util.*; import org.w3c.dom.*; public class Main { /** * Return the first named Element with a specific attribute * value (namespace aware) * * namespace The namespace URI * @param element the containing Element * @param name the tag name * @param attribute Attribute name * @param value Attribute value * @return The first matching Element (null if none) */ public static Element selectFirstElementByAttributeValueNS( String namespace, Element element, String name, String attribute, String value) { ArrayList resultList; resultList = (ArrayList) selectElementsByAttributeValueNS( namespace, element, name, attribute, value, true); return (resultList.size() == 0) ? null : (Element) resultList .get(0); } /** * Return a list of named Elements with a specific attribute * value (namespace aware) * * @param namespace Namespace URI * @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 selectElementsByAttributeValueNS(String namespace, Element element, String name, String attribute, String value) { return selectElementsByAttributeValueNS(namespace, element, name, attribute, value, false); } /** * Return a list of named Elements with a specific attribute * value (namespace aware) * * @param namespace Namespace URI * @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 selectElementsByAttributeValueNS(String namespace, Element element, String name, String attribute, String value, boolean returnFirst) { NodeList elementList = element.getElementsByTagNameNS(namespace, 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); } }