Package groovy.xml
Class XmlNodePrinter
- java.lang.Object
-
- groovy.xml.XmlNodePrinter
-
public class XmlNodePrinter extends Object
Prints agroovy.util.Node
(as used withXmlParser
) 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 ownPrintWriter
to direct elsewhere):<body> <h1>Header</h1> </body>
- See Also:
NodePrinter
,XmlUtil.serialize(Node)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
XmlNodePrinter.NamespaceContext
-
Field Summary
Fields Modifier and Type Field Description protected IndentPrinter
out
-
Constructor Summary
Constructors Constructor Description XmlNodePrinter()
XmlNodePrinter(IndentPrinter out)
XmlNodePrinter(IndentPrinter out, String quote)
XmlNodePrinter(PrintWriter out)
XmlNodePrinter(PrintWriter out, String indent)
XmlNodePrinter(PrintWriter out, String indent, String quote)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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(String comment)
protected void
printList(List list, XmlNodePrinter.NamespaceContext ctx)
protected void
printName(Node node, XmlNodePrinter.NamespaceContext ctx, boolean begin, boolean preserve)
protected void
printNameAttributes(Map attributes, XmlNodePrinter.NamespaceContext ctx)
protected void
printNamespace(Object object, XmlNodePrinter.NamespaceContext ctx)
protected void
printSimpleItem(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(String quote)
Set Quote to use when printing attributes.
-
-
-
Field Detail
-
out
protected final IndentPrinter out
-
-
Constructor Detail
-
XmlNodePrinter
public XmlNodePrinter(PrintWriter out)
-
XmlNodePrinter
public XmlNodePrinter(PrintWriter out, String indent)
-
XmlNodePrinter
public XmlNodePrinter(PrintWriter out, String indent, String quote)
-
XmlNodePrinter
public XmlNodePrinter(IndentPrinter out)
-
XmlNodePrinter
public XmlNodePrinter(IndentPrinter out, String quote)
-
XmlNodePrinter
public XmlNodePrinter()
-
-
Method Detail
-
print
public void print(Node node)
-
isNamespaceAware
public boolean isNamespaceAware()
Check if namespace handling is enabled. Defaults totrue
.- 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 tofalse
.- 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
- iftrue
, empty elements will be represented by an opening tag followed immediately by a closing tag. Defaults tofalse
.
-
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)
-
-