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

    - #### DomUtils

          public DomUtils()

  - ### Method Detail

    - #### 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

          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)

      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