Class Format

形式

XML ドキュメントを出力するためのフォーマッタ。さらにカスタマイズ可能な 3 つの事前定義済み形式が用意されています。

// 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

メソッド戻り値の型概要
format(document)String指定された Document をフォーマットされた文字列として出力します。
format(element)String指定された Element ノードをフォーマット済み文字列として出力します。
setEncoding(encoding)Formatフォーマッタが使用する文字エンコードを設定します。
setIndent(indent)Format親ノードに対して相対的に子ノードをインデントするために使用する文字列を設定します。
setLineSeparator(separator)Formatフォーマッタによる改行の挿入時に挿入する文字列を設定します。
setOmitDeclaration(omitDeclaration)Formatフォーマッタで <?xml version="1.0" encoding="UTF-8"?> などの XML 宣言を省略するかどうかを設定します。
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.
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);

パラメータ

名前説明
encodingString使用するエンコード

リターン

Format - フォーマッタ(チェーン用)


setIndent(indent)

親ノードに対して相対的に子ノードをインデントするために使用する文字列を設定します。インデントを null 以外に設定すると、フォーマッタによってすべてのノードの後に改行が挿入されます。

// 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);

パラメータ

名前説明
indentString使用できるインデント

リターン

Format - フォーマッタ(チェーン用)


setLineSeparator(separator)

フォーマッタによる改行の挿入時に挿入する文字列を設定します。事前定義された 3 つのフォーマッタには、改行を挿入する条件が異なります。デフォルトの行区切り文字は \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);

パラメータ

名前説明
separatorString使用する区切り文字

リターン

Format - フォーマッタ(チェーン用)


setOmitDeclaration(omitDeclaration)

フォーマッタで <?xml version="1.0" encoding="UTF-8"?> などの XML 宣言を省略するかどうかを設定します。

パラメータ

名前説明
omitDeclarationBooleanXML 宣言を省略する場合は true、含める場合は false

リターン

Format - フォーマッタ(チェーン用)


setOmitEncoding(omitEncoding)

フォーマッタが XML 宣言のエンコード(<?xml version="1.0" encoding="UTF-8"?> のエンコード フィールドなど)を省略するかどうかを設定します。

パラメータ

名前説明
omitEncodingBooleanXML 宣言でエンコードを省略する場合は true、含める場合は false

リターン

Format - フォーマッタ(チェーン用)