Class XmlService

XmlService

Esse serviço permite que os scripts analisem, naveguem e criem documentos XML de forma 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 e o ID do sistema fornecidos 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 e o ID públicos e de sistema fornecidos para os dados do subconjunto externo.
createDocument()DocumentCria um documento XML vazio.
createDocument(rootElement)DocumentCria um documento XML com o nó raiz Element especificado.
createElement(name)ElementCria um nó Element não anexado com o nome local fornecido 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 saída de um documento XML legível.
getRawFormat()FormatCria um objeto Format para saída de um documento XML bruto.
getXmlNamespace()NamespaceCria um Namespace com o prefixo xml padrão.
parse(xml)DocumentCria um Document do 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

Retornar

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

Retornar

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 no DocType declaração

Retornar

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 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 no DocType declaração
systemIdStringo ID do sistema dos dados do subconjunto externo a ser definido

Retornar

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 e o ID públicos e de sistema fornecidos para os dados do subconjunto externo.

Parâmetros

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

Retornar

DocType: o nó DocumentType recém-criado


createDocument()

Cria um documento XML vazio.

Retornar

Document: o documento recém-criado.


createDocument(rootElement)

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

Parâmetros

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

Retornar

Document: o documento recém-criado.


createElement(name)

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

Parâmetros

NomeTipoDescrição
nameStringo nome local a ser definido

Retornar

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

Retornar

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

Retornar

Text: o nó Text recém-criado


getCompactFormat()

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

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

Retornar

Format: o formatador recém-criado


getNamespace(uri)

Cria um Namespace com o URI fornecido.

Parâmetros

NomeTipoDescrição
uriStringo URI do namespace

Retornar

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

Retornar

Namespace: o namespace recém-criado


getNoNamespace()

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

Retornar

Namespace: o namespace recém-criado


getPrettyFormat()

Cria um objeto Format para saída de um documento XML legível. O formatador o 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 sua codificação.

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

Retornar

Format: o formatador recém-criado


getRawFormat()

Cria um objeto Format para saída de um documento XML bruto. O padrão do formatador é Codificação UTF-8, sem recuo e quebras de linha além das fornecidas no XML próprio documento e inclui a declaração XML e sua codificação.

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

Retornar

Format: o formatador recém-criado


getXmlNamespace()

Cria um Namespace com o prefixo xml padrão.

Retornar

Namespace: o namespace recém-criado


parse(xml)

Cria um Document do 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

Retornar

Document: o documento recém-criado.