Class XmlService

XmlService

Esse serviço permite que 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() {
  const url = 'https://gsuite-developers.googleblog.com/atom.xml';
  const xml = UrlFetchApp.fetch(url).getContentText();
  const document = XmlService.parse(xml);
  const root = document.getRootElement();
  const atom = XmlService.getNamespace('http://www.w3.org/2005/Atom');

  const entries = root.getChildren('entry', atom);
  for (let i = 0; i < entries.length; i++) {
    const title = entries[i].getChild('title', atom).getText();
    const categoryElements = entries[i].getChildren('category', atom);
    const labels = [];
    for (let 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() {
  const root = XmlService.createElement('threads');
  const threads = GmailApp.getInboxThreads();
  for (let i = 0; i < threads.length; i++) {
    const child =
        XmlService.createElement('thread')
            .setAttribute('messageCount', threads[i].getMessageCount())
            .setAttribute('isUnread', threads[i].isUnread())
            .setText(threads[i].getFirstMessageSubject());
    root.addContent(child);
  }
  const document = XmlService.createDocument(root);
  const 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 independente com o valor especificado.
createComment(text)CommentCria um nó Comment independente com o valor especificado.
createDocType(elementName)DocTypeCria um nó DocumentType não anexado para o nó raiz Element com o nome especificado.
createDocType(elementName, systemId)DocTypeCria um nó DocumentType independente para o nó raiz Element com o nome e o ID do sistema especificados para os dados do subconjunto externo.
createDocType(elementName, publicId, systemId)DocTypeCria um nó DocumentType independente para o nó Element raiz com o nome, o ID público e o ID do sistema especificados 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 independente com o nome local especificado e sem namespace.
createElement(name, namespace)ElementCria um nó Element independente com o nome local e o namespace especificados.
createText(text)TextCria um nó Text independente com o valor especificado.
getCompactFormat()FormatCria um objeto Format para gerar um documento XML compacto.
getNamespace(uri)NamespaceCria um Namespace com o URI especificado.
getNamespace(prefix, uri)NamespaceCria um Namespace com o prefixo e o URI especificados.
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 do XML fornecido, sem validar o XML.

Documentação detalhada

createCdata(text)

Cria um nó CDATASection independente com o valor especificado.

Parâmetros

NomeTipoDescrição
textStringO valor que será definido.

Retornar

Cdata: o nó CDATASection recém-criado.


createComment(text)

Cria um nó Comment independente com o valor especificado.

Parâmetros

NomeTipoDescrição
textStringO valor que 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 especificado.

Parâmetros

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

Retornar

DocType: o nó DocumentType recém-criado.


createDocType(elementName, systemId)

Cria um nó DocumentType independente para o nó raiz Element com o nome e o ID do sistema especificados 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 serem definidos.

Retornar

DocType: o nó DocumentType recém-criado.


createDocType(elementName, publicId, systemId)

Cria um nó DocumentType independente para o nó Element raiz com o nome, o ID público e o ID do sistema especificados 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 serem definidos.
systemIdStringO ID do sistema dos dados do subconjunto externo a serem definidos.

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 independente com o nome local especificado 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 independente com o nome local e o namespace especificados.

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 independente com o valor especificado.

Parâmetros

NomeTipoDescrição
textStringO valor que será definido.

Retornar

Text: o nó Text recém-criado.


getCompactFormat()

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

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

Retornar

Format: o formatador recém-criado.


getNamespace(uri)

Cria um Namespace com o URI especificado.

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

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 gerar um documento XML legível. O formatador usa por padrão a codificação UTF-8, o recuo de dois espaços, os separadores de linha \r\n após cada nó e inclui a declaração XML e a codificação dela.

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

Retornar

Format: o formatador recém-criado.


getRawFormat()

Cria um objeto Format para gerar um documento XML bruto. O formatador usa a codificação UTF-8 por padrão, 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 dela.

// Log an XML document in raw form.
const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const document = XmlService.parse(xml);
const 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.

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

Parâmetros

NomeTipoDescrição
xmlStringO XML a ser analisado.

Retornar

Document: o documento recém-criado.