Package groovy.xml

Class 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:
    NodePrinter, XmlUtil.serialize(Node)
    • Method Detail

      • 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.
      • printLineBegin

        protected void printLineBegin()
      • printLineEnd

        protected void printLineEnd()
      • printLineEnd

        protected void printLineEnd​(String comment)
      • printSimpleItem

        protected void printSimpleItem​(Object value)
      • printSpecialNode

        protected boolean printSpecialNode​(Node node)