Package groovy.xml

Class XmlNodePrinter

java.lang.Object
groovy.xml.XmlNodePrinter

public class XmlNodePrinter extends 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>
 
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • print

      public void print(Node node)
    • isNamespaceAware

      public boolean isNamespaceAware()
      Check if namespace handling is enabled. Defaults to true.
      Returns:
      true if namespace handling is enabled
    • setNamespaceAware

      public void setNamespaceAware(boolean namespaceAware)
      Enable and/or disable namespace handling.
      Parameters:
      namespaceAware - the new desired value
    • isPreserveWhitespace

      public boolean isPreserveWhitespace()
      Check if whitespace preservation is enabled. Defaults to false.
      Returns:
      true if whitespaces are honoured when printing simple text nodes
    • setPreserveWhitespace

      public void setPreserveWhitespace(boolean preserveWhitespace)
      Enable and/or disable preservation of whitespace.
      Parameters:
      preserveWhitespace - the new desired value
    • getQuote

      public String getQuote()
      Get Quote to use when printing attributes.
      Returns:
      the quote character
    • setQuote

      public void setQuote(String quote)
      Set Quote to use when printing attributes.
      Parameters:
      quote - 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.
    • 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.
    • print

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

      protected void printLineBegin()
    • printLineEnd

      protected void printLineEnd()
    • printLineEnd

      protected void printLineEnd(String comment)
    • printList

      protected void printList(List list, XmlNodePrinter.NamespaceContext ctx)
    • printSimpleItem

      protected void printSimpleItem(Object value)
    • printName

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

      protected boolean printSpecialNode(Node node)
    • printNamespace

      protected void printNamespace(Object object, XmlNodePrinter.NamespaceContext ctx)
    • printNameAttributes

      protected void printNameAttributes(Map attributes, XmlNodePrinter.NamespaceContext ctx)
    • getName

      protected String getName(Object object)