org.springframework.util.xml
Class DomUtils

java.lang.Object
  extended by org.springframework.util.xml.DomUtils

public abstract class DomUtils
extends Object

Convenience methods for working with the DOM API, in particular for working with DOM Nodes and DOM Elements.

Since:
1.2
Author:
Juergen Hoeller, Rob Harrop, Costin Leau, Arjen Poutsma
See Also:
Node, Element

Constructor Summary
DomUtils()
           
 
Method Summary
static ContentHandler createContentHandler(Node node)
          Returns a SAX ContentHandler that transforms callback calls to DOM Nodes.
static Element getChildElementByTagName(Element ele, String childEleName)
          Utility method that returns the first child element identified by its name.
static List<Element> getChildElementsByTagName(Element ele, String childEleName)
          Retrieve all child elements of the given DOM element that match the given element name.
static List<Element> getChildElementsByTagName(Element ele, String[] childEleNames)
          Retrieve all child elements of the given DOM element that match any of the given element names.
static String getChildElementValueByTagName(Element ele, String childEleName)
          Utility method that returns the first child element value identified by its name.
static String getTextValue(Element valueEle)
          Extract the text value from the given DOM element, ignoring XML comments.
static boolean nodeNameEquals(Node node, String desiredName)
          Namespace-aware equals comparison.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DomUtils

public DomUtils()
Method Detail

getChildElementsByTagName

public static List<Element> getChildElementsByTagName(Element ele,
                                                      String[] childEleNames)
Retrieve all child elements of the given DOM element that match any of the given element names. Only look at the direct child level of the given element; do not go into further depth (in contrast to the DOM API's getElementsByTagName method).

Parameters:
ele - the DOM element to analyze
childEleNames - the child element names to look for
Returns:
a List of child org.w3c.dom.Element instances
See Also:
Element, Element.getElementsByTagName(java.lang.String)

getChildElementsByTagName

public static List<Element> getChildElementsByTagName(Element ele,
                                                      String childEleName)
Retrieve all child elements of the given DOM element that match the given element name. Only look at the direct child level of the given element; do not go into further depth (in contrast to the DOM API's getElementsByTagName method).

Parameters:
ele - the DOM element to analyze
childEleName - the child element name to look for
Returns:
a List of child org.w3c.dom.Element instances
See Also:
Element, Element.getElementsByTagName(java.lang.String)

getChildElementByTagName

public static Element getChildElementByTagName(Element ele,
                                               String childEleName)
Utility method that returns the first child element identified by its name.

Parameters:
ele - the DOM element to analyze
childEleName - the child element name to look for
Returns:
the org.w3c.dom.Element instance, or null if none found

getChildElementValueByTagName

public static String getChildElementValueByTagName(Element ele,
                                                   String childEleName)
Utility method that returns the first child element value identified by its name.

Parameters:
ele - the DOM element to analyze
childEleName - the child element name to look for
Returns:
the extracted text value, or null if no child element found

getTextValue

public static String getTextValue(Element valueEle)
Extract the text value from the given DOM element, ignoring XML comments.

Appends all CharacterData nodes and EntityReference nodes into a single String value, excluding Comment nodes.

See Also:
CharacterData, EntityReference, Comment

nodeNameEquals

public static boolean nodeNameEquals(Node node,
                                     String desiredName)
Namespace-aware equals comparison. Returns true if either Node.getLocalName() or Node.getNodeName() equals desiredName, otherwise returns false.


createContentHandler

public static ContentHandler createContentHandler(Node node)
Returns a SAX ContentHandler that transforms callback calls to DOM Nodes.

Parameters:
node - the node to publish events to
Returns:
the content handler