Package 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
Description
`DomUtils()`

## Method Summary

Modifier and Type
Method
Description
`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)`
Retrieves all child elements of the given DOM element.
`static List<Element>`
`getChildElementsByTagName(Element ele, String childEleName)`
Retrieves all child elements of the given DOM element that match the given element name.
`static List<Element>`
`getChildElementsByTagName(Element ele, String... childEleNames)`
Retrieves 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)`
Extracts 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 Details

### DomUtils

public DomUtils()

## Method Details

### getChildElementsByTagName

public static List<Element> getChildElementsByTagName(Element ele, String... childEleNames)
Retrieves all child elements of the given DOM element that match any of the given element names. Only looks 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)
Retrieves 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

@Nullable 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

@Nullable 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)
Retrieves 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)
Extracts 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. Only exposes actual user-specified text, no default values of any kind.

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