Java examples for XML:XML Element Child
Gets a list of DOM elements with the specified name throughout the document (not just children of a specific element).
/*//ww w. j a v a 2 s. c o m * ome.xml.DOMUtil * *----------------------------------------------------------------------------- * * Copyright (C) 2007-2008 Open Microscopy Environment * Massachusetts Institute of Technology, * National Institutes of Health, * University of Dundee, * University of Wisconsin-Madison * * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *----------------------------------------------------------------------------- */ //package com.java2s; import java.util.Vector; import org.w3c.dom.*; public class Main { /** * Gets a list of DOM elements with the specified name throughout * the document (not just children of a specific element). */ public static Vector findElementList(String name, Document doc) { return findElementList(name, null, null, doc); } /** * Gets a list of DOM elements with the specified name * that have an attribute with the given name and value. */ public static Vector findElementList(String name, String attrName, String attrValue, Document doc) { if (name == null) return null; Vector v = new Vector(); NodeList list = doc.getElementsByTagName(name); int size = list.getLength(); for (int i = 0; i < size; i++) { Node node = list.item(i); if (!(node instanceof Element)) continue; Element el = (Element) node; if (attrName == null || attrValue == null || attrValue.equals(getAttribute(attrName, el))) { v.add(el); } } return v; } /** * Gets the value of the given DOM element's attribute * with the specified name. */ public static String getAttribute(String name, Element el) { if (name == null || el == null) return null; if (!el.hasAttribute(name)) return null; return el.getAttribute(name); } }