Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Formato
Es un formato para generar un documento XML, con tres formatos predefinidos que se pueden personalizar aún más.
// Log an XML document with specified formatting options.constxml='<root><a><b>Text!</b><b>More text!</b></a></root>';constdocument=XmlService.parse(xml);constoutput=XmlService.getCompactFormat().setLineSeparator('\n').setEncoding('UTF-8').setIndent(' ').format(document);Logger.log(output);
Establece si el formateador debe omitir la codificación en la declaración XML, como el campo de codificación en <?xml version="1.0" encoding="UTF-8"?>.
Documentación detallada
format(document)
Muestra el Document determinado como una cadena con formato.
Establece la codificación de caracteres que debe usar el formateador. El argumento encoding debe ser una codificación XML aceptada, como ISO-8859-1, US-ASCII, UTF-8 o UTF-16.
// Log an XML document with encoding that does not support certain special// characters.constxml='<root><a><b>ಠ‿ಠ</b><b>ಠ‿ಠ</b></a></root>';constdocument=XmlService.parse(xml);constoutput=XmlService.getRawFormat().setEncoding('ISO-8859-1').format(document);Logger.log(output);
Establece la cadena que se usa para indentar los nodos secundarios en relación con sus elementos superiores. Si estableces un indent distinto de null, el formateador insertará un salto de línea después de cada nodo.
// Log an XML document with each child node indented four spaces.constxml='<root><a><b>Text!</b><b>More text!</b></a></root>';constdocument=XmlService.parse(xml);constoutput=XmlService.getCompactFormat().setIndent(' ').format(document);Logger.log(output);
Establece la cadena que se insertará cada vez que el formato inserte un salto de línea de forma normal. Los tres
formatos predefinidos tienen diferentes condiciones en las que insertan un salto de línea. El separador de líneas predeterminado es \r\n.
// Log an XML document with several spaces and a pipe character in place of line// breaks.constxml='<root><a><b>Text!</b><b>More text!</b></a></root>';constdocument=XmlService.parse(xml);constoutput=XmlService.getRawFormat().setLineSeparator(' | ').format(document);Logger.log(output);
Establece si el formateador debe omitir la codificación en la declaración XML, como el campo de codificación en <?xml version="1.0" encoding="UTF-8"?>.
Parámetros
Nombre
Tipo
Descripción
omitEncoding
Boolean
true para omitir la codificación en la declaración XML; false para incluirla
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-26 (UTC)"],[[["\u003cp\u003eThe \u003ccode\u003eXmlService\u003c/code\u003e provides a formatter to output XML documents with customizable formatting options like encoding, indentation, and line separators.\u003c/p\u003e\n"],["\u003cp\u003eThree predefined formats are available and can be accessed using \u003ccode\u003eXmlService.getPrettyFormat()\u003c/code\u003e, \u003ccode\u003eXmlService.getCompactFormat()\u003c/code\u003e, and \u003ccode\u003eXmlService.getRawFormat()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eformat()\u003c/code\u003e method outputs either a given \u003ccode\u003eDocument\u003c/code\u003e or \u003ccode\u003eElement\u003c/code\u003e node as a formatted string based on the set formatting options.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can customize the output by setting the encoding, indent, line separator, and whether to omit the XML declaration or encoding using the respective methods on the \u003ccode\u003eFormat\u003c/code\u003e object.\u003c/p\u003e\n"],["\u003cp\u003eThe formatter allows for chaining methods to easily configure multiple formatting options in a single line of code.\u003c/p\u003e\n"]]],[],null,["# Class Format\n\nFormat\n\nA formatter for outputting an XML document, with three pre-defined formats that can be further\ncustomized.\n\n```javascript\n// Log an XML document with specified formatting options.\nconst xml = '\u003croot\u003e\u003ca\u003e\u003cb\u003eText!\u003c/b\u003e\u003cb\u003eMore text!\u003c/b\u003e\u003c/a\u003e\u003c/root\u003e';\nconst document = XmlService.parse(xml);\nconst output = XmlService.getCompactFormat()\n .setLineSeparator('\\n')\n .setEncoding('UTF-8')\n .setIndent(' ')\n .format(document);\nLogger.log(output);\n``` \n\n### Methods\n\n| Method | Return type | Brief description |\n|---------------------------------------------------------------------|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|\n| [format(document)](#format(Document)) | `String` | Outputs the given [Document](/apps-script/reference/xml-service/document) as a formatted string. |\n| [format(element)](#format(Element)) | `String` | Outputs the given [Element](/apps-script/reference/xml-service/element) node as a formatted string. |\n| [setEncoding(encoding)](#setEncoding(String)) | [Format](#) | Sets the character encoding that the formatter should use. |\n| [setIndent(indent)](#setIndent(String)) | [Format](#) | Sets the string used to indent child nodes relative to their parents. |\n| [setLineSeparator(separator)](#setLineSeparator(String)) | [Format](#) | Sets the string to insert whenever the formatter would normally insert a line break. |\n| [setOmitDeclaration(omitDeclaration)](#setOmitDeclaration(Boolean)) | [Format](#) | Sets whether the formatter should omit the XML declaration, such as `\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e`. |\n| [setOmitEncoding(omitEncoding)](#setOmitEncoding(Boolean)) | [Format](#) | Sets whether the formatter should omit the encoding in the XML declaration, such as the encoding field in `\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e`. |\n\nDetailed documentation\n----------------------\n\n### `format(document)`\n\nOutputs the given [Document](/apps-script/reference/xml-service/document) as a formatted string.\n\n#### Parameters\n\n| Name | Type | Description |\n|------------|---------------------------------------------------------|------------------------|\n| `document` | [Document](/apps-script/reference/xml-service/document) | the document to format |\n\n#### Return\n\n\n`String` --- the formatted document\n\n*** ** * ** ***\n\n### `format(element)`\n\nOutputs the given [Element](/apps-script/reference/xml-service/element) node as a formatted string.\n\n#### Parameters\n\n| Name | Type | Description |\n|-----------|-------------------------------------------------------|-----------------------|\n| `element` | [Element](/apps-script/reference/xml-service/element) | the element to format |\n\n#### Return\n\n\n`String` --- the formatted element\n\n*** ** * ** ***\n\n### `set``Encoding(encoding)`\n\nSets the character encoding that the formatter should use. The `encoding` argument must\nbe an accepted XML encoding like `ISO-8859-1`, `US-ASCII`, `UTF-8`, or `UTF-16`.\n\n```javascript\n// Log an XML document with encoding that does not support certain special\n// characters.\nconst xml = '\u003croot\u003e\u003ca\u003e\u003cb\u003eಠ‿ಠ\u003c/b\u003e\u003cb\u003eಠ‿ಠ\u003c/b\u003e\u003c/a\u003e\u003c/root\u003e';\nconst document = XmlService.parse(xml);\nconst output =\n XmlService.getRawFormat().setEncoding('ISO-8859-1').format(document);\nLogger.log(output);\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|------------|----------|---------------------|\n| `encoding` | `String` | the encoding to use |\n\n#### Return\n\n\n[Format](#) --- the formatter, for chaining\n\n*** ** * ** ***\n\n### `set``Indent(indent)`\n\nSets the string used to indent child nodes relative to their parents. Setting an indent other\nthan `null` will cause the formatter to insert a line break after every node.\n\n```javascript\n// Log an XML document with each child node indented four spaces.\nconst xml = '\u003croot\u003e\u003ca\u003e\u003cb\u003eText!\u003c/b\u003e\u003cb\u003eMore text!\u003c/b\u003e\u003c/a\u003e\u003c/root\u003e';\nconst document = XmlService.parse(xml);\nconst output = XmlService.getCompactFormat().setIndent(' ').format(document);\nLogger.log(output);\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|----------|----------|-------------------|\n| `indent` | `String` | the indent to use |\n\n#### Return\n\n\n[Format](#) --- the formatter, for chaining\n\n*** ** * ** ***\n\n### `set``Line``Separator(separator)`\n\nSets the string to insert whenever the formatter would normally insert a line break. The three\npre-defined formatters have different conditions under which they insert a line break. The\ndefault line separator is `\\r\\n`.\n\n```javascript\n// Log an XML document with several spaces and a pipe character in place of line\n// breaks.\nconst xml = '\u003croot\u003e\u003ca\u003e\u003cb\u003eText!\u003c/b\u003e\u003cb\u003eMore text!\u003c/b\u003e\u003c/a\u003e\u003c/root\u003e';\nconst document = XmlService.parse(xml);\nconst output =\n XmlService.getRawFormat().setLineSeparator(' | ').format(document);\nLogger.log(output);\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|-------------|----------|----------------------|\n| `separator` | `String` | the separator to use |\n\n#### Return\n\n\n[Format](#) --- the formatter, for chaining\n\n*** ** * ** ***\n\n### `set``Omit``Declaration(omitDeclaration)`\n\nSets whether the formatter should omit the XML declaration, such as `\u003c?xml version=\"1.0\"\nencoding=\"UTF-8\"?\u003e`.\n\n#### Parameters\n\n| Name | Type | Description |\n|---------------------|-----------|-----------------------------------------------------------|\n| `omit``Declaration` | `Boolean` | `true` to omit the XML declaration; `false` to include it |\n\n#### Return\n\n\n[Format](#) --- the formatter, for chaining\n\n*** ** * ** ***\n\n### `set``Omit``Encoding(omitEncoding)`\n\nSets whether the formatter should omit the encoding in the XML declaration, such as the\nencoding field in `\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e`.\n\n#### Parameters\n\n| Name | Type | Description |\n|------------------|-----------|---------------------------------------------------------------------------|\n| `omit``Encoding` | `Boolean` | `true` to omit the encoding in the XML declaration; `false` to include it |\n\n#### Return\n\n\n[Format](#) --- the formatter, for chaining"]]