Class XmlService

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.
Servicio de mlml

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
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 conectado con el valor determinado.
createComment(text)CommentCrea un nodo Comment no conectado con el valor determinado.
createDocType(elementName)DocTypeCrea un nodo DocumentType sin adjuntar para el nodo raíz Element con el nombre determinado.
createDocType(elementName, systemId)DocTypeCrea un nodo DocumentType no conectado 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 adjuntar para el nodo raíz Element con el nombre determinado y el ID público y el ID del sistema especificados para los datos del subconjunto externo.
createDocument()DocumentCrea un documento XML vacío.
createDocument(rootElement)DocumentCrea un documento XML con el nodo Element determinado.
createElement(name)ElementCrea un nodo Element no adjunto con el nombre local especificado y sin espacio de nombres.
createElement(name, namespace)ElementCrea un nodo Element sin adjuntar con el nombre local y el espacio de nombres determinados.
createText(text)TextCrea un nodo Text no conectado con el valor determinado.
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 dados.
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 validarlo.

Documentación detallada

createCdata(text)

Crea un nodo CDATASection no conectado 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 conectado 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 sin adjuntar 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

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 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 para establecer

Volver

DocType: Es el nodo DocumentType recién creado.


createDocType(elementName, publicId, systemId)

Crea un nodo DocumentType sin adjuntar para el nodo raíz Element con el nombre determinado y el ID público y el ID del sistema especificados 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 va a establecer
systemIdStringel ID del sistema de los datos del subconjunto externo para establecer

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 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 adjunto con el nombre local especificado y sin espacio de nombres.

Parámetros

NombreTipoDescripción
nameStringel nombre local que se establecerá

Volver

Element: Es el nodo Element recién creado.


createElement(name, namespace)

Crea un nodo Element sin adjuntar con el nombre local y el espacio de nombres determinados.

Parámetros

NombreTipoDescripción
nameStringel nombre local que se establecerá
namespaceNamespaceel espacio de nombres que se configurará

Volver

Element: Es el nodo Element recién creado.


createText(text)

Crea un nodo Text no conectado 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 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);

Volver

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

Volver

Namespace: El espacio de nombres recién creado


getNamespace(prefix, uri)

Crea un Namespace con el prefijo y el URI dados.

Parámetros

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

Volver

Namespace: El espacio de nombres recién creado


getNoNamespace()

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

Volver

Namespace: 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 de forma predeterminada, sangría de dos espacios, separadores de línea \r\n después de cada nodo y, además, 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: el formateador recién creado


getRawFormat()

Crea un objeto Format para generar un documento XML sin procesar. El formateador se configura de forma predeterminada en la codificación UTF-8, sin sangría ni saltos de línea, excepto los proporcionados en el documento XML 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: el formateador recién creado


getXmlNamespace()

Crea un Namespace con el prefijo estándar xml.

Volver

Namespace: El espacio de nombres recién creado


parse(xml)

Crea un Document a partir del XML determinado, sin validarlo.

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á

Volver

Document: Es el documento recién creado.