## org.apache.solr.common.util
Class DOMUtil

    java.lang.Object
      org.apache.solr.common.util.DOMUtil

    public class DOMUtil

extends Object

Version:
  $Id: DOMUtil.java 888622 2009-12-08 23:06:23Z hossman $

Constructor Summary
`DOMUtil()`

Method Summary
`static void` `addToNamedList(Node nd, NamedList nlst, List arr)` Examines a Node from the DOM representation of a NamedList and adds the contents of that node to both the specified NamedList and List passed as arguments.
`static List` `childNodesToList(Node nd)`
`static NamedList<Object>` `childNodesToNamedList(Node nd)`
`static String` `getAttr(NamedNodeMap attrs, String name)`
`static String` `getAttr(NamedNodeMap attrs, String name, String missing_err)`
`static String` `getAttr(Node nd, String name)`
`static String` `getAttr(Node node, String name, String missing_err)`
`static Node` `getChild(Node node, String name)`
`static String` `getText(Node nd)` Drop in replacement for Node.getTextContent().
`static List` `nodesToList(NodeList nlst)`
`static NamedList<Object>` `nodesToNamedList(NodeList nlst)`
`static void` `substituteProperties(Node node, Properties properties)` Replaces ${property[:default value]} references in all attributes and text nodes of supplied node.
`static void` `substituteSystemProperties(Node node)` Replaces ${system.property[:default value]} references in all attributes and text nodes of supplied node.
`static Map<String,String>` `toMap(NamedNodeMap attrs)`
`static Map<String,String>` `toMapExcept(NamedNodeMap attrs, String... exclusions)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DOMUtil

    public DOMUtil()

Method Detail

### toMap

    public static Map<String,String> toMap(NamedNodeMap attrs)

### toMapExcept

    public static Map<String,String> toMapExcept(NamedNodeMap attrs,
                                                 String... exclusions)

### getChild

    public static Node getChild(Node node,
                                String name)

### getAttr

    public static String getAttr(NamedNodeMap attrs,
                                 String name)

### getAttr

    public static String getAttr(Node nd,
                                 String name)

### getAttr

    public static String getAttr(NamedNodeMap attrs,
                                 String name,
                                 String missing_err)

### getAttr

    public static String getAttr(Node node,
                                 String name,
                                 String missing_err)

### childNodesToNamedList

    public static NamedList<Object> childNodesToNamedList(Node nd)

### childNodesToList

    public static List childNodesToList(Node nd)

### nodesToNamedList

    public static NamedList<Object> nodesToNamedList(NodeList nlst)

### nodesToList

    public static List nodesToList(NodeList nlst)

### addToNamedList

    public static void addToNamedList(Node nd,
                                      NamedList nlst,
                                      List arr)

  Examines a Node from the DOM representation of a NamedList and adds the contents of that node to both the specified NamedList and List passed as arguments.

  Parameters:
    `nd` - The Node whose type will be used to determine how to parse the text content. If there is a 'name' attribute it will be used when adding to the NamedList
    `nlst` - A NamedList to add the item to with name if application. If this param is null it will be ignored.
    `arr` - A List to add the item to. If this param is null it will be ignored.

### getText

    public static String getText(Node nd)

  Drop in replacement for Node.getTextContent().

  This method is provided to support the same functionality as Node.getTextContent() but in a way that is DOM Level 2 compatible.

  See Also:
    DOM Object Model Core

### substituteSystemProperties

    public static void substituteSystemProperties(Node node)

  Replaces ${system.property[:default value]} references in all attributes and text nodes of supplied node. If the system property is not defined and no default value is provided, a runtime exception is thrown.

  Parameters:
    `node` - DOM node to walk for substitutions

### substituteProperties

    public static void substituteProperties(Node node,
                                            Properties properties)

  Replaces ${property[:default value]} references in all attributes and text nodes of supplied node. If the property is not defined neither in the given Properties instance nor in System.getProperty and no default value is provided, a runtime exception is thrown.

  Parameters:
    `node` - DOM node to walk for substitutions
    `properties` - the Properties instance from which a value can be looked up