XML Service

Serviço XML

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
// Google's The Keyword blog.
function parseXml() {
  let url = 'https://blog.google/rss/';
  let xml = UrlFetchApp.fetch(url).getContentText();
  let document = XmlService.parse(xml);
  let root = document.getRootElement();

  let channel = root.getChild('channel');
  let items = channel.getChildren('item');
  items.forEach(item => {
    let title = item.getChild('title').getText();
    let categories = item.getChildren('category');
    let labels = categories.map(category => category.getText());
    console.log('%s (%s)', title, labels.join(', '));
  });
}

// Create and log an XML representation of first 10 threads in your Gmail inbox.
function createXml() {
  let root = XmlService.createElement('threads');
  let threads = GmailApp.getInboxThreads()
  threads = threads.slice(0,10); // Just the first 10
  threads.forEach(thread => {
    let child = XmlService.createElement('thread')
        .setAttribute('messageCount', thread.getMessageCount())
        .setAttribute('isUnread', thread.isUnread())
        .setText(thread.getFirstMessageSubject());
    root.addContent(child);
  });
  let document = XmlService.createDocument(root);
  let xml = XmlService.getPrettyFormat().format(document);
  console.log(xml);
}

Classes

NomeBreve descrição
AttributeUma representação de um atributo XML.
CdataUma representação de um nó CDATASection XML.
CommentUma representação de um nó Comment XML.
ContentUma representação de um nó XML genérico.
ContentTypeUma enumeração que representa os tipos de nós de conteúdo XML.
DocTypeUma representação de um nó DocumentType XML.
DocumentUma representação de um documento XML.
ElementUma representação de um nó Element XML.
EntityRefUma representação de um nó EntityReference XML.
FormatUm formatador para gerar um documento XML com três formatos predefinidos que podem ser personalizados.
NamespaceUma representação de um namespace XML.
ProcessingInstructionUma representação de um nó ProcessingInstruction XML.
TextUma representação de um nó Text XML.
XmlServiceEsse serviço permite que scripts analisem, naveguem e criem documentos XML de maneira programática.

Attribute

Métodos

MétodoTipo de retornoBreve descrição
getName()StringRecebe o nome local do atributo.
getNamespace()NamespaceRecebe o namespace do atributo.
getValue()StringRecebe o valor do atributo.
setName(name)AttributeDefine o nome local do atributo.
setNamespace(namespace)AttributeDefine o namespace do atributo.
setValue(value)AttributeDefine o valor do atributo.

Cdata

Métodos

MétodoTipo de retornoBreve descrição
append(text)TextAnexa o texto fornecido a qualquer conteúdo que já exista no nó.
detach()ContentDesconecta o nó do nó Element pai.
getParentElement()ElementRecebe o nó Element pai do nó.
getText()StringRecebe o valor de texto do nó Text.
getValue()StringRecebe o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem em que aparecem no documento.
setText(text)TextDefine o valor de texto do nó Text.

Comment

Métodos

MétodoTipo de retornoBreve descrição
detach()ContentDesconecta o nó do nó Element pai.
getParentElement()ElementRecebe o nó Element pai do nó.
getText()StringRecebe o valor de texto do nó Comment.
getValue()StringRecebe o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem em que aparecem no documento.
setText(text)CommentDefine o valor de texto do nó Comment.

Content

Métodos

MétodoTipo de retornoBreve descrição
asCdata()CdataTransmite o nó como um nó CDATASection para fins de preenchimento automático.
asComment()CommentTransmite o nó como um nó Comment para fins de preenchimento automático.
asDocType()DocTypeTransmite o nó como um nó DocumentType para fins de preenchimento automático.
asElement()ElementTransmite o nó como um nó Element para fins de preenchimento automático.
asEntityRef()EntityRefTransmite o nó como um nó EntityReference para fins de preenchimento automático.
asProcessingInstruction()ProcessingInstructionTransmite o nó como um nó ProcessingInstruction para fins de preenchimento automático.
asText()TextTransmite o nó como um nó Text para fins de preenchimento automático.
detach()ContentDesconecta o nó do nó Element pai.
getParentElement()ElementRecebe o nó Element pai do nó.
getType()ContentTypeRecebe o tipo de conteúdo do nó.
getValue()StringRecebe o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem em que aparecem no documento.

ContentType

Propriedades

PropriedadeTipoDescrição
CDATAEnumUm nó CDATASection XML.
COMMENTEnumUm nó Comment XML.
DOCTYPEEnumUm nó DocumentType XML.
ELEMENTEnumUm nó Element XML.
ENTITYREFEnumUm nó EntityReference XML.
PROCESSINGINSTRUCTIONEnumUm nó ProcessingInstruction XML.
TEXTEnumUm nó Text XML.

DocType

Métodos

MétodoTipo de retornoBreve descrição
detach()ContentDesconecta o nó do nó Element pai.
getElementName()StringEncontra o nome do nó Element raiz especificado na declaração DocType.
getInternalSubset()StringConsegue os dados do subconjunto interno para o nó DocumentType.
getParentElement()ElementRecebe o nó Element pai do nó.
getPublicId()StringConsegue o ID público dos dados do subconjunto externo para o nó DocumentType.
getSystemId()StringRecebe o ID do sistema dos dados do subconjunto externo para o nó DocumentType.
getValue()StringRecebe o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem em que aparecem no documento.
setElementName(name)DocTypeDefine o nome do nó Element raiz a ser especificado na declaração DocType.
setInternalSubset(data)DocTypeDefine os dados do subconjunto interno para o nó DocumentType.
setPublicId(id)DocTypeDefine o ID público dos dados do subconjunto externo para o nó DocumentType.
setSystemId(id)DocTypeDefine o ID do sistema dos dados do subconjunto externo para o nó DocumentType.

Document

Métodos

MétodoTipo de retornoBreve descrição
addContent(content)DocumentAnexa o nó especificado ao final do documento.
addContent(index, content)DocumentInsere o nó especificado no índice especificado entre todos os nós que são filhos imediatos do documento.
cloneContent()Content[]Cria cópias não anexadas de todos os nós que são filhos imediatos do documento.
detachRootElement()ElementDesconecta e retorna o nó Element raiz do documento.
getAllContent()Content[]Recebe todos os nós que são filhos imediatos do documento.
getContent(index)ContentRecebe o nó no índice fornecido entre todos os nós que são filhos imediatos do documento.
getContentSize()IntegerRecebe o número de nós que são filhos imediatos do documento.
getDescendants()Content[]Recebe todos os nós que são filhos diretos ou indiretos do documento, na ordem em que aparecem no documento.
getDocType()DocTypeConsegue a declaração DocType do documento.
getRootElement()ElementConsegue o nó Element raiz do documento.
hasRootElement()BooleanDetermina se o documento tem um nó Element raiz.
removeContent()Content[]Remove todos os nós que são filhos imediatos do documento.
removeContent(content)BooleanRemove o nó fornecido, se ele for um filho imediato do documento.
removeContent(index)ContentRemove o nó no índice fornecido entre todos os nós que são filhos imediatos do documento.
setDocType(docType)DocumentDefine a declaração DocType do documento.
setRootElement(element)DocumentDefine o nó Element raiz do documento.

Element

Métodos

MétodoTipo de retornoBreve descrição
addContent(content)ElementAcrescenta o nó especificado como o último filho do nó Element.
addContent(index, content)ElementInsere o nó fornecido no índice fornecido entre todos os nós que são filhos imediatos do nó Element.
cloneContent()Content[]Cria cópias não anexadas de todos os nós que são filhos imediatos do nó {@code Element}.
detach()ContentDesconecta o nó do nó Element pai.
getAllContent()Content[]Recebe todos os nós que são filhos imediatos do nó {@code Element}.
getAttribute(name)AttributeRecebe o atributo para este nó Element com o nome fornecido e sem namespace.
getAttribute(name, namespace)AttributeRecebe o atributo para este nó Element com o nome e o namespace fornecidos.
getAttributes()Attribute[]Extrai todos os atributos desse nó Element, na ordem em que aparecem no documento.
getChild(name)ElementExtrai o primeiro nó Element com o nome fornecido e nenhum namespace que seja um filho imediato desse nó Element.
getChild(name, namespace)ElementRecebe o primeiro nó Element com o nome e o namespace fornecidos, que é um filho imediato desse nó Element.
getChildText(name)StringRecebe o valor de texto do nó com o nome fornecido e sem namespace, se o nó for um filho imediato do nó Element.
getChildText(name, namespace)StringExtrai o valor de texto do nó com o nome e o namespace fornecidos, se o nó for filho imediato do nó Element.
getChildren()Element[]Recebe todos os nós Element que são filhos imediatos deste nó Element, na ordem em que aparecem no documento.
getChildren(name)Element[]Recebe todos os nós Element com o nome fornecido e nenhum namespace que sejam filhos imediatos deste nó Element, na ordem em que aparecem no documento.
getChildren(name, namespace)Element[]Recebe todos os nós Element com o nome e o namespace fornecidos que são filhos imediatos deste nó Element, na ordem em que aparecem no documento.
getContent(index)ContentExtrai o nó no índice fornecido entre todos os nós que são filhos imediatos do nó {@code Element}.
getContentSize()IntegerRecebe o número de nós que são filhos imediatos do nó {@code Element}.
getDescendants()Content[]Recebe todos os nós que são filhos diretos ou indiretos do nó {@code Element}, na ordem em que aparecem no documento.
getDocument()DocumentConsegue o documento XML que contém o nó {@code Element}.
getName()StringRecebe o nome local do nó Element.
getNamespace()NamespaceRecebe o namespace do nó Element.
getNamespace(prefix)NamespaceRecebe o namespace com o prefixo fornecido para o nó Element.
getParentElement()ElementRecebe o nó Element pai do nó.
getQualifiedName()StringExtrai o nome local e o prefixo do namespace do nó Element, no formato [namespacePrefix]:[localName].
getText()StringRecebe o valor de texto do nó Element.
getValue()StringRecebe o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem em que aparecem no documento.
isAncestorOf(other)BooleanDetermina se este nó Element é um pai direto ou indireto de um determinado nó Element.
isRootElement()BooleanDetermina se o nó Element é o nó raiz do documento.
removeAttribute(attribute)BooleanRemove o atributo fornecido para este nó Element, se ele existir.
removeAttribute(attributeName)BooleanRemove o atributo desse nó Element com o nome fornecido e sem namespace, se esse atributo existir.
removeAttribute(attributeName, namespace)BooleanRemove o atributo desse nó Element com o nome e o namespace fornecidos, se esse atributo existir.
removeContent()Content[]Remove todos os nós que são filhos imediatos do nó {@code Element}.
removeContent(content)BooleanRemove o nó fornecido, se ele for um filho imediato do nó {@code Element}.
removeContent(index)ContentRemove o nó no índice fornecido entre todos os nós que são filhos imediatos do nó {@code Element}.
setAttribute(attribute)ElementDefine o atributo fornecido para este nó Element.
setAttribute(name, value)ElementDefine o atributo para este nó Element com o nome, o valor e o namespace fornecidos.
setAttribute(name, value, namespace)ElementDefine o atributo para este nó Element com o nome, o valor e o namespace fornecidos.
setName(name)ElementDefine o nome local do nó Element.
setNamespace(namespace)ElementDefine o namespace para o nó Element.
setText(text)ElementDefine o valor de texto do nó Element.

EntityRef

Métodos

MétodoTipo de retornoBreve descrição
detach()ContentDesconecta o nó do nó Element pai.
getName()StringRecebe o nome do nó EntityReference.
getParentElement()ElementRecebe o nó Element pai do nó.
getPublicId()StringRecebe o ID público do nó EntityReference.
getSystemId()StringRecebe o ID do sistema do nó EntityReference.
getValue()StringRecebe o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem em que aparecem no documento.
setName(name)EntityRefDefine o nome do nó EntityReference.
setPublicId(id)EntityRefDefine o ID público do nó EntityReference.
setSystemId(id)EntityRefDefine o ID do sistema do nó EntityReference.

Format

Métodos

MétodoTipo de retornoBreve descrição
format(document)StringMostra o Document fornecido como uma string formatada.
format(element)StringEnvia o nó Element fornecido como uma string formatada.
setEncoding(encoding)FormatDefine a codificação de caracteres que o formatador deve usar.
setIndent(indent)FormatDefine a string usada para recuar os nós filhos em relação aos pais.
setLineSeparator(separator)FormatDefine a string a ser inserida sempre que o formatador normalmente insere uma quebra de linha.
setOmitDeclaration(omitDeclaration)FormatDefine se o formatador precisa omitir a declaração XML, como <?xml version="1.0" encoding="UTF-8"?>.
setOmitEncoding(omitEncoding)FormatDefine se o formatador precisa omitir a codificação na declaração XML, como o campo de codificação em <?xml version="1.0" encoding="UTF-8"?>.

Namespace

Métodos

MétodoTipo de retornoBreve descrição
getPrefix()StringRecebe o prefixo do namespace.
getURI()StringRecebe o URI do namespace.

ProcessingInstruction

Métodos

MétodoTipo de retornoBreve descrição
detach()ContentDesconecta o nó do nó Element pai.
getData()StringRecebe os dados brutos de cada instrução no nó ProcessingInstruction.
getParentElement()ElementRecebe o nó Element pai do nó.
getTarget()StringRecebe o destino do nó ProcessingInstruction.
getValue()StringRecebe o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem em que aparecem no documento.

Text

Métodos

MétodoTipo de retornoBreve descrição
append(text)TextAnexa o texto fornecido a qualquer conteúdo que já exista no nó.
detach()ContentDesconecta o nó do nó Element pai.
getParentElement()ElementRecebe o nó Element pai do nó.
getText()StringRecebe o valor de texto do nó Text.
getValue()StringRecebe o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem em que aparecem no documento.
setText(text)TextDefine o valor de texto do nó Text.

XmlService

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 especificado.
createComment(text)CommentCria um nó Comment não anexado com o valor especificado.
createDocType(elementName)DocTypeCria um nó DocumentType não anexado para o nó Element raiz com o nome fornecido.
createDocType(elementName, systemId)DocTypeCria um nó DocumentType não anexado para o nó Element raiz com o nome 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ó Element raiz com o nome fornecido, o ID público e o ID do sistema 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 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 especificado.
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 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 por humanos.
getRawFormat()FormatCria um objeto Format para gerar um documento XML bruto.
getXmlNamespace()NamespaceCria um Namespace com o prefixo padrão xml.
parse(xml)DocumentCria um Document a partir do XML fornecido, sem validar o XML.