A formatter for outputting an XML document, with three pre-defined formats that can be further customized.
// Log an XML document with specified formatting options. var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; var document = XmlService.parse(xml); var output = XmlService.getCompactFormat() .setLineSeparator('\n') .setEncoding('UTF-8') .setIndent(' ') .format(document); Logger.log(output);
Methods
Method | Return type | Brief description |
---|---|---|
String
|
Outputs the given Document
as a formatted string. |
|
String
|
Outputs the given Element
node as a formatted string. |
|
Format
|
Sets the character encoding that the formatter should use. | |
Format
|
Sets the string used to indent child nodes relative to their parents. | |
Format
|
Sets the string to insert whenever the formatter would normally insert a line break. | |
Format
|
Sets whether the formatter should omit the XML declaration, such as <?xml version="1.0"
encoding="UTF-8"?>
. |
|
Format
|
Sets whether the formatter should omit the encoding in the XML declaration, such as the
encoding field in <?xml version="1.0" encoding="UTF-8"?>
. |
Detailed documentation
format(document)
format(element)
setEncoding(encoding)
Sets the character encoding that the formatter should use. The encoding
argument must
be an accepted XML encoding like ISO-8859-1
, US-ASCII
, UTF-8
, or UTF-16
.
// Log an XML document with encoding that does not support certain special characters. var xml = '<root><a><b>ಠ‿ಠ</b><b>ಠ‿ಠ</b></a></root>'; var document = XmlService.parse(xml); var output = XmlService.getRawFormat() .setEncoding('ISO-8859-1') .format(document); Logger.log(output);
Parameters
Name | Type | Description |
---|---|---|
encoding
|
String
|
the encoding to use |
Return
Format
— the formatter, for chaining
setIndent(indent)
Sets the string used to indent child nodes relative to their parents. Setting an indent other
than null
will cause the formatter to insert a line break after every node.
// Log an XML document with each child node indented four spaces. var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; var document = XmlService.parse(xml); var output = XmlService.getCompactFormat() .setIndent(' ') .format(document); Logger.log(output);
Parameters
Name | Type | Description |
---|---|---|
indent
|
String
|
the indent to use |
Return
Format
— the formatter, for chaining
setLineSeparator(separator)
Sets the string to insert whenever the formatter would normally insert a line break. The three
pre-defined formatters have different conditions under which they insert a line break. The
default line separator is \r\n
.
// Log an XML document with several spaces and a pipe character in place of line breaks. var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; var document = XmlService.parse(xml); var output = XmlService.getRawFormat() .setLineSeparator(' | ') .format(document); Logger.log(output);
Parameters
Name | Type | Description |
---|---|---|
separator
|
String
|
the separator to use |
Return
Format
— the formatter, for chaining
setOmitDeclaration(omitDeclaration)
Sets whether the formatter should omit the XML declaration, such as <?xml version="1.0"
encoding="UTF-8"?>
.
Parameters
Name | Type | Description |
---|---|---|
omitDeclaration
|
Boolean
|
true
to omit the XML declaration; false
to include it |
Return
Format
— the formatter, for chaining
setOmitEncoding(omitEncoding)
Sets whether the formatter should omit the encoding in the XML declaration, such as the
encoding field in <?xml version="1.0" encoding="UTF-8"?>
.
Parameters
Name | Type | Description |
---|---|---|
omitEncoding
|
Boolean
|
true
to omit the encoding in the XML declaration; false
to
include it |
Return
Format
— the formatter, for chaining