Groovy Documentation

## groovy.util
[Java] Class XmlNodePrinter

    java.lang.Object
      groovy.util.XmlNodePrinter

    public class XmlNodePrinter
    extends java.lang.Object

Prints a `groovy.util.Node` (as used with `XmlParser`) including all children in XML format. Typical usage:

     def xml = '<html><head><title>Title</title></head><body><h1>Header</h1></body></html>'
     def root = new XmlParser().parseText(xml)
     new XmlNodePrinter(preserveWhitespace:true).print(root.body[0])

which when run produces this on stdout (or use your own `PrintWriter` to direct elsewhere):

     <body>
       <h1>Header</h1>
     </body>

Authors:
  Christian Stein

See Also:
  NodePrinter
  XmlUtil.serialize

Nested Class Summary
`protected class` | `XmlNodePrinter.NamespaceContext`

Field Summary
`protected IndentPrinter` | `out`

Constructor Summary
`XmlNodePrinter(java.io.PrintWriter out)`
`XmlNodePrinter(java.io.PrintWriter out, java.lang.String indent)`
`XmlNodePrinter(java.io.PrintWriter out, java.lang.String indent, java.lang.String quote)`
`XmlNodePrinter(IndentPrinter out)`
`XmlNodePrinter(IndentPrinter out, java.lang.String quote)`
`XmlNodePrinter()`

Method Summary
`java.lang.String` | `getQuote()` Get Quote to use when printing attributes.
`boolean` | `isExpandEmptyElements()` Whether empty elements are expanded from <tagName/> to <tagName></tagName>.
`boolean` | `isNamespaceAware()` Check if namespace handling is enabled.
`boolean` | `isPreserveWhitespace()` Check if whitespace preservation is enabled.
`void` | `print(Node node)`
`protected void` | `print(Node node, XmlNodePrinter.NamespaceContext ctx)`
`protected void` | `printLineBegin()`
`protected void` | `printLineEnd()`
`protected void` | `printLineEnd(java.lang.String comment)`
`protected void` | `printList(java.util.List list, XmlNodePrinter.NamespaceContext ctx)`
`protected void` | `printName(Node node, XmlNodePrinter.NamespaceContext ctx, boolean begin, boolean preserve)`
`protected void` | `printNameAttributes(java.util.Map attributes, XmlNodePrinter.NamespaceContext ctx)`
`protected void` | `printNamespace(java.lang.Object object, XmlNodePrinter.NamespaceContext ctx)`
`protected void` | `printSimpleItem(java.lang.Object value)`
`protected boolean` | `printSpecialNode(Node node)`
`void` | `setExpandEmptyElements(boolean expandEmptyElements)` Whether empty elements are expanded from <tagName/> to <tagName></tagName>.
`void` | `setNamespaceAware(boolean namespaceAware)` Enable and/or disable namespace handling.
`void` | `setPreserveWhitespace(boolean preserveWhitespace)` Enable and/or disable preservation of whitespace.
`void` | `setQuote(java.lang.String quote)` Set Quote to use when printing attributes.

Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()

Field Detail

### out

    protected final IndentPrinter out

Constructor Detail

### XmlNodePrinter

    public XmlNodePrinter(java.io.PrintWriter out)

### XmlNodePrinter

    public XmlNodePrinter(java.io.PrintWriter out, java.lang.String indent)

### XmlNodePrinter

    public XmlNodePrinter(java.io.PrintWriter out, java.lang.String indent, java.lang.String quote)

### XmlNodePrinter

    public XmlNodePrinter(IndentPrinter out)

### XmlNodePrinter

    public XmlNodePrinter(IndentPrinter out, java.lang.String quote)

### XmlNodePrinter

    public XmlNodePrinter()

Method Detail

### getQuote

    public java.lang.String getQuote()

  Get Quote to use when printing attributes.
  Returns:
    the quote character

### isExpandEmptyElements

    public boolean isExpandEmptyElements()

  Whether empty elements are expanded from <tagName/> to <tagName></tagName>.
  Returns:
    `true`, if empty elements will be represented by an opening tag followed immediately by a closing tag.

### isNamespaceAware

    public boolean isNamespaceAware()

  Check if namespace handling is enabled. Defaults to `true`.
  Returns:
    true if namespace handling is enabled

### isPreserveWhitespace

    public boolean isPreserveWhitespace()

  Check if whitespace preservation is enabled. Defaults to `false`.
  Returns:
    true if whitespaces are honoured when printing simple text nodes

### print

    public void print(Node node)

### print

    protected void print(Node node, XmlNodePrinter.NamespaceContext ctx)

### printLineBegin

    protected void printLineBegin()

### printLineEnd

    protected void printLineEnd()

### printLineEnd

    protected void printLineEnd(java.lang.String comment)

### printList

    protected void printList(java.util.List list, XmlNodePrinter.NamespaceContext ctx)

### printName

    protected void printName(Node node, XmlNodePrinter.NamespaceContext ctx, boolean begin, boolean preserve)

### printNameAttributes

    protected void printNameAttributes(java.util.Map attributes, XmlNodePrinter.NamespaceContext ctx)

### printNamespace

    protected void printNamespace(java.lang.Object object, XmlNodePrinter.NamespaceContext ctx)

### printSimpleItem

    protected void printSimpleItem(java.lang.Object value)

### printSpecialNode

    protected boolean printSpecialNode(Node node)

### setExpandEmptyElements

    public void setExpandEmptyElements(boolean expandEmptyElements)

  Whether empty elements are expanded from <tagName/> to <tagName></tagName>.
  Parameters:
    `expandEmptyElements` - if `true`, empty elements will be represented by an opening tag followed immediately by a closing tag. Defaults to `false`.

### setNamespaceAware

    public void setNamespaceAware(boolean namespaceAware)

  Enable and/or disable namespace handling.
  Parameters:
    `namespaceAware` - the new desired value

### setPreserveWhitespace

    public void setPreserveWhitespace(boolean preserveWhitespace)

  Enable and/or disable preservation of whitespace.
  Parameters:
    `preserveWhitespace` - the new desired value

### setQuote

    public void setQuote(java.lang.String quote)

  Set Quote to use when printing attributes.
  Parameters:
    `quote` - the quote character

Groovy Documentation