// // @(#)XMLUtils.java 12/2003 // // Copyright 2003 Zachary DelProposto. All rights reserved. // Use is subject to license terms. // // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program 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 General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Or from http://www.gnu.org/ // package dip.misc; import org.w3c.dom.*; /** * Various static utilities used to parse and * format XML (and SVG). None of these methods, though, * are SVG-specific. * <p> * The duplicate and similar XML methods in other classes should gradually * be added to here. */ public class XMLUtils { /** Private constructor. */ private XMLUtils() {} /** * Find the first child Element matching the given tag name. Only searches * 1st-level children; not a recursive search. Null if not found. */ public static Element findChildElementMatching(Node root, String tagName) { return (Element) findChildNodeMatching(root, tagName, Node.ELEMENT_NODE); }// findChildMatching() /** * Find the first child node matching the given tag name. Only searches * 1st-level children; not a recursive search. Null if not found. */ public static Node findChildNodeMatching(Node root, String tagName, short nodeType) { Node childNode = root.getFirstChild(); while(childNode != null) { if( childNode.getNodeType() == nodeType ) { if(tagName.equals(childNode.getNodeName())) { return childNode; } } childNode = childNode.getNextSibling(); } return null; }// findChildMatching() }// class XMLUtils