|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.project.ant; import java.util.ArrayList; import java.util.List; import org.openide.ErrorManager; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Text; import org.xml.sax.ErrorHandler; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; /** * Utilities relating to Ant projects. * @author Jesse Glick */ public class Util { private Util() {} /** * Search for an XML element in the direct children of a parent. * DOM provides a similar method but it does a recursive search * which we do not want. It also gives a node list and we want * only one result. * @param parent a parent element * @param name the intended local name * @param namespace the intended namespace * @return the one child element with that name, or null if none or more than one */ public static Element findElement(Element parent, String name, String namespace) { Element result = null; NodeList l = parent.getChildNodes(); for (int i = 0; i < l.getLength(); i++) { if (l.item(i).getNodeType() == Node.ELEMENT_NODE) { Element el = (Element)l.item(i); if (name.equals(el.getLocalName()) && namespace.equals(el.getNamespaceURI())) { if (result == null) { result = el; } else { return null; } } } } return result; } /** * Extract nested text from an element. * Currently does not handle coalescing text nodes, CDATA sections, etc. * @param parent a parent element * @return the nested text, or null if none was found */ public static String findText(Element parent) { NodeList l = parent.getChildNodes(); for (int i = 0; i < l.getLength(); i++) { if (l.item(i).getNodeType() == Node.TEXT_NODE) { Text text = (Text)l.item(i); return text.getNodeValue(); } } return null; } /** * Find all direct child elements of an element. * More useful than {@link Element#getElementsByTagNameNS} because it does * not recurse into recursive child elements. * Children which are all-whitespace text nodes are ignored; others cause * an exception to be thrown. * @param parent a parent element in a DOM tree * @return a list of direct child elements (may be empty) * @throws IllegalArgumentException if there are non-element children besides whitespace */ public static List/* |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.