org.springframework.util.xml

## Class DomUtils

- java.lang.Object
- - 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, Luke Taylor
See Also:
  `Node`, `Element`

### Constructor Summary

Constructors
Constructor and Description
`DomUtils()`

### Method Summary

Methods
`static ContentHandler` `createContentHandler(Node node)` Returns a SAX `ContentHandler` that transforms callback calls to DOM `Node`s.
`static Element` `getChildElementByTagName(Element ele, String childEleName)` Utility method that returns the first child element identified by its name.
`static List<Element>` `getChildElements(Element ele)` Retrieve all child elements of the given DOM element
`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

#### getChildElements

    public static List<Element> getChildElements(Element ele)

Retrieve all child elements of the given DOM element

Parameters:
  `ele` - the DOM element to analyze
Returns:
  a List of child `org.w3c.dom.Element` instances

#### 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 `Node`s.

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