Class XmlService

XmlService

Esse serviço permite que os scripts analisem, naveguem e criem documentos XML de maneira 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);
}

Propriedades

PropriedadeTipoDescrição
ContentTypesContentTypeUma enumeração que representa os tipos de nós de conteúdo XML.

Métodos

MétodoTipo de retornoBreve descrição
createCdata(text)CdataCria um nó CDATASection não anexado com o valor fornecido.
createComment(text)CommentCria um nó Comment não anexado com o valor fornecido.
createDocType(elementName)DocTypeCria um nó DocumentType não anexado para o nó raiz Element com o nome fornecido.
createDocType(elementName, systemId)DocTypeCria um nó DocumentType não anexado para o nó raiz Element com o nome indicado e o ID do sistema fornecido para os dados do subconjunto externo.
createDocType(elementName, publicId, systemId)DocTypeCria um nó DocumentType não anexado para o nó raiz Element com o nome indicado, bem como o ID público e o ID do sistema fornecidos para os dados do subconjunto externo.
createDocument()DocumentCria um documento XML vazio.
createDocument(rootElement)DocumentCria um documento XML com o nó Element raiz especificado.
createElement(name)ElementCria um nó Element não anexado com o nome local especificado e sem namespace.
createElement(name, namespace)ElementCria um nó Element não anexado com o nome local e o namespace fornecidos.
createText(text)TextCria um nó Text não anexado com o valor fornecido.
getCompactFormat()FormatCria um objeto Format para gerar um documento XML compacto.
getNamespace(uri)NamespaceCria um Namespace com o URI fornecido.
getNamespace(prefix, uri)NamespaceCria um Namespace com o prefixo e o URI fornecidos.
getNoNamespace()NamespaceCria um Namespace que representa a ausência de um namespace real.
getPrettyFormat()FormatCria um objeto Format para gerar um documento XML legível.
getRawFormat()FormatCria um objeto Format para gerar um documento XML bruto.
getXmlNamespace()NamespaceCria um Namespace com o prefixo xml padrão.
parse(xml)DocumentCria um Document com base no XML fornecido, sem validar o XML.

Documentação detalhada

createCdata(text)

Cria um nó CDATASection não anexado com o valor fornecido.

Parâmetros

NomeTipoDescrição
textStringo valor a ser definido

Retorno

Cdata: o nó CDATASection recém-criado


createComment(text)

Cria um nó Comment não anexado com o valor fornecido.

Parâmetros

NomeTipoDescrição
textStringo valor a ser definido

Retorno

Comment: o nó Comment recém-criado


createDocType(elementName)

Cria um nó DocumentType não anexado para o nó raiz Element com o nome fornecido.

Parâmetros

NomeTipoDescrição
elementNameStringo nome do nó raiz Element a ser especificado na declaração DocType

Retorno

DocType: o nó DocumentType recém-criado


createDocType(elementName, systemId)

Cria um nó DocumentType não anexado para o nó raiz Element com o nome indicado e o ID do sistema fornecido para os dados do subconjunto externo.

Parâmetros

NomeTipoDescrição
elementNameStringo nome do nó raiz Element a ser especificado na declaração DocType
systemIdStringo ID do sistema dos dados do subconjunto externo a ser definido

Retorno

DocType: o nó DocumentType recém-criado


createDocType(elementName, publicId, systemId)

Cria um nó DocumentType não anexado para o nó raiz Element com o nome especificado, o ID público e o ID do sistema fornecidos para os dados do subconjunto externo.

Parâmetros

NomeTipoDescrição
elementNameStringo nome do nó raiz Element a ser especificado na declaração DocType
publicIdStringo ID público dos dados do subconjunto externo a ser definido.
systemIdStringo ID do sistema dos dados do subconjunto externo a ser definido

Retorno

DocType: o nó DocumentType recém-criado


createDocument()

Cria um documento XML vazio.

Retorno

Document: o documento recém-criado.


createDocument(rootElement)

Cria um documento XML com o nó Element raiz especificado.

Parâmetros

NomeTipoDescrição
rootElementElemento nó raiz Element a ser definido

Retorno

Document: o documento recém-criado.


createElement(name)

Cria um nó Element não anexado com o nome local especificado e sem namespace.

Parâmetros

NomeTipoDescrição
nameStringo nome local a ser definido

Retorno

Element: o nó Element recém-criado


createElement(name, namespace)

Cria um nó Element não anexado com o nome local e o namespace fornecidos.

Parâmetros

NomeTipoDescrição
nameStringo nome local a ser definido
namespaceNamespaceo namespace a ser definido

Retorno

Element: o nó Element recém-criado


createText(text)

Cria um nó Text não anexado com o valor fornecido.

Parâmetros

NomeTipoDescrição
textStringo valor a ser definido

Retorno

Text: o nó Text recém-criado


getCompactFormat()

Cria um objeto Format para gerar um documento XML compacto. O formatador padrão é a codificação UTF-8, sem recuo e sem quebras de linha, mas inclui a declaração XML e a codificação correspondente.

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

Retorno

Format: o formatador recém-criado


getNamespace(uri)

Cria um Namespace com o URI fornecido.

Parâmetros

NomeTipoDescrição
uriStringo URI do namespace

Retorno

Namespace: o namespace recém-criado


getNamespace(prefix, uri)

Cria um Namespace com o prefixo e o URI fornecidos.

Parâmetros

NomeTipoDescrição
prefixStringo prefixo do namespace
uriStringo URI do namespace

Retorno

Namespace: o namespace recém-criado


getNoNamespace()

Cria um Namespace que representa a ausência de um namespace real.

Retorno

Namespace: o namespace recém-criado


getPrettyFormat()

Cria um objeto Format para gerar um documento XML legível. O formatador assume como padrão a codificação UTF-8, recuo de dois espaços, separadores de linha \r\n após cada nó e inclui a declaração XML e a codificação correspondente.

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

Retorno

Format: o formatador recém-criado


getRawFormat()

Cria um objeto Format para gerar um documento XML bruto. O formatador assume como padrão a codificação UTF-8, sem recuo e sem quebras de linha além das fornecidas no próprio documento XML e inclui a declaração XML e a codificação correspondente.

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

Retorno

Format: o formatador recém-criado


getXmlNamespace()

Cria um Namespace com o prefixo xml padrão.

Retorno

Namespace: o namespace recém-criado


parse(xml)

Cria um Document com base no XML fornecido, sem validar o XML.

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

Parâmetros

NomeTipoDescrição
xmlStringo XML para analisar

Retorno

Document: o documento recém-criado.