Java: Obtenir un attribut à partir d’un élément*

Author:

Java: Obtenir un attribut à partir d'un élément*
{filelink=8363}

/***** Code de MesExemples.com *******/
  /************************************************************************************ Copyright (c) 2003, 2004 The Regents of the University of Michigan, Trustees of Indiana University,*                  Board of Trustees of the Leland Stanford, Jr., University, and The MIT Corporation** Licensed under the Educational Community License Version 1.0 (the "License");* By obtaining, using and/or copying this Original Work, you agree that you have read,* understand, and will comply with the terms and conditions of the Educational Community License.* You may obtain a copy of the License at:**      http://cvs.sakaiproject.org/licenses/license_1_0.html** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE* AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.***********************************************************************************/import java.util.ArrayList;import java.util.List;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class Utils {  /**   * 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);  }  /**   * 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;  }}         

Code testé avec le fichier XML Suivant




	Sakoba
	Adams
	Rappel
	Ne m'oubliez pas ce week-end!

Leave a Reply

Your email address will not be published. Required fields are marked *

Java: Obtenir un attribut à partir d’un élément*

Author:

Java: Obtenir un attribut à partir d'un élément*
{filelink=8363}

/***** Code de MesExemples.com *******/
  /************************************************************************************ Copyright (c) 2003, 2004 The Regents of the University of Michigan, Trustees of Indiana University,*                  Board of Trustees of the Leland Stanford, Jr., University, and The MIT Corporation** Licensed under the Educational Community License Version 1.0 (the "License");* By obtaining, using and/or copying this Original Work, you agree that you have read,* understand, and will comply with the terms and conditions of the Educational Community License.* You may obtain a copy of the License at:**      http://cvs.sakaiproject.org/licenses/license_1_0.html** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE* AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.***********************************************************************************/import java.util.ArrayList;import java.util.List;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class Utils {  /**   * 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);  }  /**   * 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;  }}         

Code testé avec le fichier XML Suivant




	Sakoba
	Adams
	Rappel
	Ne m'oubliez pas ce week-end!

Leave a Reply

Your email address will not be published. Required fields are marked *