Class Format

格式

用于输出 XML 文档的格式化程序,具有三种可进一步自定义的预定义格式。

// Log an XML document with specified formatting options.
const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const document = XmlService.parse(xml);
const output = XmlService.getCompactFormat()
                   .setLineSeparator('\n')
                   .setEncoding('UTF-8')
                   .setIndent('   ')
                   .format(document);
Logger.log(output);

方法

方法返回类型简介
format(document)String以格式化字符串的形式输出给定的 Document
format(element)String以格式化字符串的形式输出给定的 Element 节点。
setEncoding(encoding)Format设置格式化程序应使用的字符编码。
setIndent(indent)Format设置用于缩进子节点(相对于其父节点)的字符串。
setLineSeparator(separator)Format设置在格式化程序通常会插入换行符时要插入的字符串。
setOmitDeclaration(omitDeclaration)Format设置格式化程序是否应省略 XML 声明(例如 <?xml version="1.0" encoding="UTF-8"?>)。
setOmitEncoding(omitEncoding)Format设置格式化程序是否应在 XML 声明中省略编码,例如 <?xml version="1.0" encoding="UTF-8"?> 中的编码字段。

详细文档

format(document)

以格式化字符串的形式输出给定的 Document

参数

名称类型说明
documentDocument要设置格式的文档。

返回

String - 格式化文档。


format(element)

以格式化字符串的形式输出给定的 Element 节点。

参数

名称类型说明
elementElement要设置格式的元素。

返回

String - 带格式的元素。


setEncoding(encoding)

设置格式化程序应使用的字符编码。encoding 实参必须是可接受的 XML 编码,例如 ISO-8859-1US-ASCIIUTF-8UTF-16

// Log an XML document with encoding that does not support certain special
// characters.
const xml = '<root><a><b>ಠ‿ಠ</b><b>ಠ‿ಠ</b></a></root>';
const document = XmlService.parse(xml);
const output =
    XmlService.getRawFormat().setEncoding('ISO-8859-1').format(document);
Logger.log(output);

参数

名称类型说明
encodingString要使用的编码。

返回

Format - 用于链式调用的格式化程序。


setIndent(indent)

设置用于缩进子节点(相对于其父节点)的字符串。如果将缩进设置为 null 以外的值,格式化程序会在每个节点后插入换行符。

// Log an XML document with each child node indented four spaces.
const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const document = XmlService.parse(xml);
const output = XmlService.getCompactFormat().setIndent('    ').format(document);
Logger.log(output);

参数

名称类型说明
indentString要使用的缩进。

返回

Format - 用于链式调用的格式化程序。


setLineSeparator(separator)

设置在格式化程序通常会插入换行符时要插入的字符串。这三个预定义的格式化程序在插入换行符时有不同的条件。默认行分隔符为 \r\n

// Log an XML document with several spaces and a pipe character in place of line
// breaks.
const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const document = XmlService.parse(xml);
const output =
    XmlService.getRawFormat().setLineSeparator(' | ').format(document);
Logger.log(output);

参数

名称类型说明
separatorString要使用的分隔符。

返回

Format - 用于链式调用的格式化程序。


setOmitDeclaration(omitDeclaration)

设置格式化程序是否应省略 XML 声明(例如 <?xml version="1.0" encoding="UTF-8"?>)。

参数

名称类型说明
omitDeclarationBooleantrue 表示省略 XML 声明;false 表示包含 XML 声明。

返回

Format - 用于链式调用的格式化程序。


setOmitEncoding(omitEncoding)

设置格式化程序是否应在 XML 声明中省略编码,例如 <?xml version="1.0" encoding="UTF-8"?> 中的编码字段。

参数

名称类型说明
omitEncodingBooleantrue 表示在 XML 声明中省略编码;false 表示包含编码。

返回

Format - 用于链式调用的格式化程序。