Class XmlService

XmlService

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

// 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
ContentTypesContentTypeEs una 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 conectado con el valor dado.
createComment(text)CommentCrea un nodo Comment no conectado con el valor dado.
createDocType(elementName)DocTypeCrea un nodo DocumentType sin vincular para el nodo raíz Element con el nombre determinado.
createDocType(elementName, systemId)DocTypeCrea un nodo DocumentType sin vincular para el nodo raíz Element con el nombre dado y el ID del sistema determinado para los datos del subconjunto externo.
createDocType(elementName, publicId, systemId)DocTypeCrea un nodo DocumentType sin vincular para el nodo raíz Element con el nombre dado, y el ID público y el ID del sistema determinados 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 especificado.
createElement(name)ElementCrea un nodo Element sin conectar con el nombre local determinado y sin espacio de nombres.
createElement(name, namespace)ElementCrea un nodo Element no conectado con el nombre local y el espacio de nombres dados.
createText(text)TextCrea un nodo Text no conectado con el valor dado.
getCompactFormat()FormatCrea un objeto Format para generar un documento XML compacto.
getNamespace(uri)NamespaceCrea un Namespace con el URI dado.
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 XML legible.
getRawFormat()FormatCrea un objeto Format para generar un documento XML sin procesar.
getXmlNamespace()NamespaceCrea un Namespace con el prefijo estándar xml.
parse(xml)DocumentCrea un Document a partir del XML determinado, sin validar el XML.

Documentación detallada

createCdata(text)

Crea un nodo CDATASection no conectado con el valor dado.

Parámetros

NombreTipoDescripción
textStringel valor a establecer

Devolvedor

Cdata: Es el nodo CDATASection recién creado.


createComment(text)

Crea un nodo Comment no conectado con el valor dado.

Parámetros

NombreTipoDescripción
textStringel valor a establecer

Devolvedor

Comment: Es el nodo Comment recién creado.


createDocType(elementName)

Crea un nodo DocumentType sin vincular para el nodo raíz Element con el nombre determinado.

Parámetros

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

Devolvedor

DocType: Es el nodo DocumentType recién creado.


createDocType(elementName, systemId)

Crea un nodo DocumentType sin vincular para el nodo raíz Element con el nombre dado y el ID del sistema determinado para los datos del subconjunto externo.

Parámetros

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

Devolvedor

DocType: Es el nodo DocumentType recién creado.


createDocType(elementName, publicId, systemId)

Crea un nodo DocumentType sin vincular para el nodo raíz Element con el nombre dado, y el ID público y el ID del sistema determinados para los datos del subconjunto externo.

Parámetros

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

Devolvedor

DocType: Es el nodo DocumentType recién creado.


createDocument()

Crea un documento XML vacío.

Devolvedor

Document: Es el documento recién creado.


createDocument(rootElement)

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

Parámetros

NombreTipoDescripción
rootElementElementel nodo raíz Element para establecer

Devolvedor

Document: Es el documento recién creado.


createElement(name)

Crea un nodo Element sin conectar con el nombre local determinado y sin espacio de nombres.

Parámetros

NombreTipoDescripción
nameStringel nombre local para establecer

Devolvedor

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 dados.

Parámetros

NombreTipoDescripción
nameStringel nombre local para establecer
namespaceNamespaceespacio de nombres para definir

Devolvedor

Element: Es el nodo Element recién creado.


createText(text)

Crea un nodo Text no conectado con el valor dado.

Parámetros

NombreTipoDescripción
textStringel valor a establecer

Devolvedor

Text: Es el nodo Text recién creado.


getCompactFormat()

Crea un objeto Format para generar un documento XML compacto. El formateador usa la codificación UTF-8 de forma predeterminada, sin sangrías 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);

Devolvedor

Format: El formateador recién creado


getNamespace(uri)

Crea un Namespace con el URI dado.

Parámetros

NombreTipoDescripción
uriStringel URI del espacio de nombres

Devolvedor

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 del espacio de nombres

Devolvedor

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


getNoNamespace()

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

Devolvedor

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


getPrettyFormat()

Crea un objeto Format para generar un documento XML legible. El formateador usa la codificación UTF-8, la sangría de dos espacios y los separadores de línea \r\n de forma predeterminada después de cada nodo, además de incluir 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);

Devolvedor

Format: El formateador recién creado


getRawFormat()

Crea un objeto Format para generar un documento XML sin procesar. El formateador se establece de forma predeterminada en la codificación UTF-8, sin sangrías ni saltos de línea distintas de las que se proporcionan en el documento XML, además de incluir 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);

Devolvedor

Format: El formateador recién creado


getXmlNamespace()

Crea un Namespace con el prefijo estándar xml.

Devolvedor

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 que se analizará

Devolvedor

Document: Es el documento recién creado.