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