Class XmlService

XmlService

Este servicio permite que las secuencias de comandos analicen, naveguen y creen de manera programática documentos XML.

// Log the title and labels for the first page of blog posts on the
// Google Workspace Developer blog.
function parseXml() {
  var url = 'https://gsuite-developers.googleblog.com/atom.xml';
  var xml = UrlFetchApp.fetch(url).getContentText();
  var document = XmlService.parse(xml);
  var root = document.getRootElement();
  var atom = XmlService.getNamespace('http://www.w3.org/2005/Atom');

  var entries = root.getChildren('entry', atom);
  for (var i = 0; i < entries.length; i++) {
    var title = entries[i].getChild('title', atom).getText();
    var categoryElements = entries[i].getChildren('category', atom);
    var labels = [];
    for (var j = 0; j < categoryElements.length; j++) {
      labels.push(categoryElements[j].getAttribute('term').getValue());
    }
    Logger.log('%s (%s)', title, labels.join(', '));
  }
}

// Create and log an XML representation of the threads in your Gmail inbox.
function createXml() {
  var root = XmlService.createElement('threads');
  var threads = GmailApp.getInboxThreads();
  for (var i = 0; i < threads.length; i++) {
    var child = XmlService.createElement('thread')
        .setAttribute('messageCount', threads[i].getMessageCount())
        .setAttribute('isUnread', threads[i].isUnread())
        .setText(threads[i].getFirstMessageSubject());
    root.addContent(child);
  }
  var document = XmlService.createDocument(root);
  var xml = XmlService.getPrettyFormat().format(document);
  Logger.log(xml);
}

Propiedades

PropiedadTipoDescripción
ContentTypesContentTypeUna enumeración que representa los tipos de nodos de contenido XML.

Métodos

MétodoTipo de datos que se muestraDescripción breve
createCdata(text)CdataCrea un nodo CDATASection no vinculado con el valor determinado.
createComment(text)CommentCrea un nodo Comment no vinculado con el valor determinado.
createDocType(elementName)DocTypeCrea un nodo DocumentType no conectado para el nodo raíz Element. con ese nombre específico.
createDocType(elementName, systemId)DocTypeCrea un nodo DocumentType no conectado para el nodo raíz Element. con un nombre y un ID de sistema determinados para los datos del subconjunto externo.
createDocType(elementName, publicId, systemId)DocTypeCrea un nodo DocumentType no conectado para el nodo raíz Element. con el nombre determinado, así como el ID público y el ID de sistema especificados para los datos del subconjunto externo.
createDocument()DocumentCrea un documento XML vacío.
createDocument(rootElement)DocumentCrea un documento XML con el nodo raíz Element determinado.
createElement(name)ElementCrea un nodo Element no conectado con el nombre local dado y sin espacio de nombres.
createElement(name, namespace)ElementCrea un nodo Element no conectado con el nombre local y el espacio de nombres especificados.
createText(text)TextCrea un nodo Text no vinculado con el valor determinado.
getCompactFormat()FormatCrea un objeto Format para generar un documento XML compacto.
getNamespace(uri)NamespaceCrea un Namespace con el URI determinado.
getNamespace(prefix, uri)NamespaceCrea un Namespace con el prefijo y el URI especificados.
getNoNamespace()NamespaceCrea un Namespace que representa la ausencia de un espacio de nombres real.
getPrettyFormat()FormatCrea un objeto Format para generar un documento en formato XML legible por humanos.
getRawFormat()FormatCrea un objeto Format para generar un documento XML sin procesar.
getXmlNamespace()NamespaceCrea un Namespace con el prefijo xml estándar.
parse(xml)DocumentCrea un Document a partir del XML determinado, sin validar el XML.

Documentación detallada

createCdata(text)

Crea un nodo CDATASection no vinculado con el valor determinado.

Parámetros

NombreTipoDescripción
textStringel valor que se debe establecer

Volver

Cdata: Es el nodo CDATASection recién creado.


createComment(text)

Crea un nodo Comment no vinculado con el valor determinado.

Parámetros

NombreTipoDescripción
textStringel valor que se debe establecer

Volver

Comment: Es el nodo Comment recién creado.


createDocType(elementName)

Crea un nodo DocumentType no conectado para el nodo raíz Element. con ese nombre específico.

Parámetros

NombreTipoDescripción
elementNameStringel nombre del nodo raíz Element que se especificará en DocType declaración

Volver

DocType: Es el nodo DocumentType recién creado.


createDocType(elementName, systemId)

Crea un nodo DocumentType no conectado para el nodo raíz Element. con un nombre y un ID de sistema determinados para los datos del subconjunto externo.

Parámetros

NombreTipoDescripción
elementNameStringel nombre del nodo raíz Element que se especificará en DocType declaración
systemIdStringel ID del sistema de los datos del subconjunto externo

Volver

DocType: Es el nodo DocumentType recién creado.


createDocType(elementName, publicId, systemId)

Crea un nodo DocumentType no conectado para el nodo raíz Element. con el nombre determinado, así como el ID público y el ID de sistema especificados para los datos del subconjunto externo.

Parámetros

NombreTipoDescripción
elementNameStringel nombre del nodo raíz Element que se especificará en DocType declaración
publicIdStringel ID público de los datos del subconjunto externo
systemIdStringel ID del sistema de los datos del subconjunto externo

Volver

DocType: Es el nodo DocumentType recién creado.


createDocument()

Crea un documento XML vacío.

Volver

Document: Es el documento recién creado.


createDocument(rootElement)

Crea un documento XML con el nodo raíz Element determinado.

Parámetros

NombreTipoDescripción
rootElementElementel nodo raíz Element para establecer

Volver

Document: Es el documento recién creado.


createElement(name)

Crea un nodo Element no conectado con el nombre local dado y sin espacio de nombres.

Parámetros

NombreTipoDescripción
nameStringel nombre local para establecer

Volver

Element: Es el nodo Element recién creado.


createElement(name, namespace)

Crea un nodo Element no conectado con el nombre local y el espacio de nombres especificados.

Parámetros

NombreTipoDescripción
nameStringel nombre local para establecer
namespaceNamespaceel espacio de nombres para configurar

Volver

Element: Es el nodo Element recién creado.


createText(text)

Crea un nodo Text no vinculado con el valor determinado.

Parámetros

NombreTipoDescripción
textStringel valor que se debe establecer

Volver

Text: Es el nodo Text recién creado.


getCompactFormat()

Crea un objeto Format para generar un documento XML compacto. El formateador de forma predeterminada es la codificación UTF-8, sin sangría ni saltos de línea adicionales, pero incluye la declaración XML y su codificación.

// Log an XML document in compact form.
var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
var document = XmlService.parse(xml);
var output = XmlService.getCompactFormat()
    .format(document);
Logger.log(output);

Volver

Format: Es el formateador recién creado.


getNamespace(uri)

Crea un Namespace con el URI determinado.

Parámetros

NombreTipoDescripción
uriStringel URI para el espacio de nombres

Volver

Namespace: Es el espacio de nombres recién creado.


getNamespace(prefix, uri)

Crea un Namespace con el prefijo y el URI especificados.

Parámetros

NombreTipoDescripción
prefixStringel prefijo del espacio de nombres
uriStringel URI para el espacio de nombres

Volver

Namespace: Es el espacio de nombres recién creado.


getNoNamespace()

Crea un Namespace que representa la ausencia de un espacio de nombres real.

Volver

Namespace: Es el espacio de nombres recién creado.


getPrettyFormat()

Crea un objeto Format para generar un documento en formato XML legible por humanos. El formateador La configuración predeterminada es la codificación UTF-8, la sangría de dos espacios, los separadores de línea \r\n después de todos los nodos e incluye la declaración XML y su codificación.

// Log an XML document in human-readable form.
var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
var document = XmlService.parse(xml);
var output = XmlService.getPrettyFormat()
    .format(document);
Logger.log(output);

Volver

Format: Es el formateador recién creado.


getRawFormat()

Crea un objeto Format para generar un documento XML sin procesar. El formateador tiene como valor predeterminado Codificación UTF-8, sin sangría ni saltos de línea que no sean los proporcionados en el XML documento en sí y, además, incluye la declaración XML y su codificación.

// Log an XML document in raw form.
var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
var document = XmlService.parse(xml);
var output = XmlService.getRawFormat()
    .format(document);
Logger.log(output);

Volver

Format: Es el formateador recién creado.


getXmlNamespace()

Crea un Namespace con el prefijo xml estándar.

Volver

Namespace: Es el espacio de nombres recién creado.


parse(xml)

Crea un Document a partir del XML determinado, sin validar el XML.

var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
var doc = XmlService.parse(xml);

Parámetros

NombreTipoDescripción
xmlStringel XML para analizar

Volver

Document: Es el documento recién creado.