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 表示 包含 XML 声明中的编码。

返回

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