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 ainda mais.
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()Namespace|nullRecebe 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)TextAdiciona o texto especificado a qualquer conteúdo que já exista no nó.
detach()Content|nullDesvincula o nó do nó pai Element.
getParentElement()Element|nullRecebe 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()Content|nullDesvincula o nó do nó pai Element.
getParentElement()Element|nullRecebe 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()Cdata|nullTransmite o nó como um nó CDATASection para fins de preenchimento automático.
asComment()Comment|nullTransmite o nó como um nó Comment para fins de preenchimento automático.
asDocType()DocType|nullTransmite o nó como um nó DocumentType para fins de preenchimento automático.
asElement()Element|nullTransmite o nó como um nó Element para fins de preenchimento automático.
asEntityRef()EntityRef|nullTransmite o nó como um nó EntityReference para fins de preenchimento automático.
asProcessingInstruction()ProcessingInstruction|nullTransmite o nó como um nó ProcessingInstruction para fins de preenchimento automático.
asText()Text|nullTransmite o nó como um nó Text para fins de preenchimento automático.
detach()Content|nullDesvincula o nó do nó pai Element.
getParentElement()Element|nullRecebe 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()Content|nullDesvincula o nó do nó pai Element.
getElementName()StringRecebe o nome do nó Element raiz especificado na declaração DocType.
getInternalSubset()StringRecebe os dados internos do subconjunto para o nó DocumentType.
getParentElement()Element|nullRecebe o nó Element pai do nó.
getPublicId()StringRecebe 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ó raiz Element a ser especificado na declaração DocType.
setInternalSubset(data)DocTypeDefine os dados internos do subconjunto 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 indicado 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()Element|nullDesanexa e retorna o nó Element raiz do documento.
getAllContent()Content[]Recebe todos os nós que são filhos imediatos do documento.
getContent(index)Content|nullRecebe o nó no índice especificado 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 nele.
getDocType()DocType|nullRecebe a declaração DocType do documento.
getRootElement()Element|nullRecebe 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ó especificado se ele for um filho imediato do documento.
removeContent(index)Content|nullRemove o nó no índice especificado 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ó especificado no índice indicado 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()Content|nullDesvincula o nó do nó pai Element.
getAllContent()Content[]Recebe todos os nós que são filhos imediatos do nó {@code Element}.
getAttribute(name)Attribute|nullRecebe o atributo do nó Element com o nome especificado e sem namespace.
getAttribute(name, namespace)Attribute|nullRecebe o atributo do nó Element com o nome e o namespace especificados.
getAttributes()Attribute[]Recebe todos os atributos deste nó Element na ordem em que aparecem no documento.
getChild(name)Element|nullRecebe o primeiro nó Element com o nome especificado e sem namespace que seja um filho imediato deste nó Element.
getChild(name, namespace)Element|nullRecebe o primeiro nó Element com o nome e o namespace especificados que é um filho imediato deste nó Element.
getChildText(name)String|nullRecebe o valor de texto do nó com o nome especificado e sem namespace, se o nó for um filho imediato do nó Element.
getChildText(name, namespace)String|nullRecebe o valor de texto do nó com o nome e o namespace especificados, se o nó for um 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 especificado e sem namespace que são 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 especificados que são filhos imediatos deste nó Element, na ordem em que aparecem no documento.
getContent(index)Content|nullRecebe o nó no índice especificado 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()DocumentRecebe 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 especificado para o nó Element.
getParentElement()Element|nullRecebe o nó Element pai do nó.
getQualifiedName()StringRecebe 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 especificado do nó Element, se ele existir.
removeAttribute(attributeName)BooleanRemove o atributo do nó Element com o nome especificado e sem namespace, se esse atributo existir.
removeAttribute(attributeName, namespace)BooleanRemove o atributo do nó Element com o nome e o namespace especificados, se ele existir.
removeContent()Content[]Remove todos os nós que são filhos imediatos do nó {@code Element}.
removeContent(content)BooleanRemove o nó especificado se ele for um filho imediato do nó {@code Element}.
removeContent(index)Content|nullRemove o nó no índice especificado entre todos os nós que são filhos imediatos do nó {@code Element}.
setAttribute(attribute)ElementDefine o atributo especificado para este nó Element.
setAttribute(name, value)ElementDefine o atributo para este nó Element com o nome e o valor especificados, sem namespace.
setAttribute(name, value, namespace)ElementDefine o atributo para este nó Element com o nome, o valor e o namespace especificados.
setName(name)ElementDefine o nome local do nó Element.
setNamespace(namespace)ElementDefine o namespace do nó Element.
setText(text)ElementDefine o valor de texto do nó Element.

EntityRef

Métodos

MétodoTipo de retornoBreve descrição
detach()Content|nullDesvincula o nó do nó pai Element.
getName()StringRecebe o nome do nó EntityReference.
getParentElement()Element|nullRecebe o nó Element pai do nó.
getPublicId()String|nullRecebe o ID público do nó EntityReference.
getSystemId()String|nullRecebe 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 especificado como uma string formatada.
format(element)StringEnvia o nó Element especificado 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 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 deve omitir a declaração XML, como <?xml version="1.0" encoding="UTF-8"?>.
setOmitEncoding(omitEncoding)FormatDefine se o formatador deve omitir a codificação na declaração XML, como o campo "encoding" 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()Content|nullDesvincula o nó do nó pai Element.
getData()StringRecebe os dados brutos de cada instrução no nó ProcessingInstruction.
getParentElement()Element|nullRecebe 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)TextAdiciona o texto fornecido a qualquer conteúdo que já exista no nó.
detach()Content|nullDesvincula o nó do nó pai Element.
getParentElement()Element|nullRecebe 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 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.