XML Service

Serviço XML

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

Aulas

NomeBreve descrição
AttributeUma representação de um atributo XML.
CdataUma representação de um nó XML CDATASection.
CommentUma representação de um nó XML Comment.
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ó XML DocumentType.
DocumentUma representação de um documento XML.
ElementUma representação de um nó XML Element.
EntityRefUma representação de um nó XML EntityReference.
FormatUm formatador para gerar um documento XML com três formatos predefinidos que podem ser mais personalizados.
NamespaceUma representação de um namespace XML.
ProcessingInstructionUma representação de um nó XML ProcessingInstruction.
TextUma representação de um nó XML Text.
XmlServiceEsse serviço permite que os scripts analisem, naveguem e criem documentos XML de maneira programática.

Attribute

Métodos

MétodoTipo de retornoBreve descrição
getName()StringExtrai o nome local do atributo.
getNamespace()NamespaceExtrai 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()ContentRemove o nó do nó Element pai.
getParentElement()ElementRecebe o nó Element pai.
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()ContentRemove o nó do nó Element pai.
getParentElement()ElementRecebe o nó Element pai.
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()CdataConverte o nó como um nó CDATASection para fins de preenchimento automático.
asComment()CommentConverte o nó como um nó Comment para fins de preenchimento automático.
asDocType()DocTypeConverte o nó como um nó DocumentType para fins de preenchimento automático.
asElement()ElementConverte o nó como um nó Element para fins de preenchimento automático.
asEntityRef()EntityRefConverte o nó como um nó EntityReference para fins de preenchimento automático.
asProcessingInstruction()ProcessingInstructionConverte o nó como um nó ProcessingInstruction para fins de preenchimento automático.
asText()TextConverte o nó como um nó Text para fins de preenchimento automático.
detach()ContentRemove o nó do nó Element pai.
getParentElement()ElementRecebe o nó Element pai.
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ó XML CDATASection.
COMMENTEnumUm nó XML Comment.
DOCTYPEEnumUm nó XML DocumentType.
ELEMENTEnumUm nó XML Element.
ENTITYREFEnumUm nó XML EntityReference.
PROCESSINGINSTRUCTIONEnumUm nó XML ProcessingInstruction.
TEXTEnumUm nó XML Text.

DocType

Métodos

MétodoTipo de retornoBreve descrição
detach()ContentRemove o nó do nó Element pai.
getElementName()StringRecebe o nome do nó Element raiz especificado na declaração DocType.
getInternalSubset()StringRecebe os dados do subconjunto interno para o nó DocumentType.
getParentElement()ElementRecebe o nó Element pai.
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 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()ElementRemove e retorna o nó raiz Element do documento.
getAllContent()Content[]Extrai todos os nós que são filhos imediatos do documento.
getContent(index)ContentRecebe o nó no índice especificado entre todos os nós que são filhos imediatos do documento.
getContentSize()IntegerExtrai o número de nós que são filhos imediatos do documento.
getDescendants()Content[]Extrai todos os nós que são filhos diretos ou indiretos do documento, na ordem em que aparecem.
getDocType()DocTypeRecebe a declaração DocType do documento.
getRootElement()ElementRecebe 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 o nó for um filho imediato do documento.
removeContent(index)ContentRemove 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)ElementAnexa o nó especificado como o último filho do nó Element.
addContent(index, content)ElementInsere o nó especificado no índice especificado 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()ContentRemove o nó do nó Element pai.
getAllContent()Content[]Extrai todos os nós que são filhos imediatos do nó {@code Element}.
getAttribute(name)AttributeRecebe o atributo deste nó Element com o nome fornecido e sem namespace.
getAttribute(name, namespace)AttributeRecebe o atributo desse nó Element com o nome e o namespace fornecidos.
getAttributes()Attribute[]Recebe todos os atributos deste nó Element, na ordem em que aparecem no documento.
getChild(name)ElementRecebe o primeiro nó Element com o nome fornecido e nenhum namespace que seja filho imediato desse nó Element.
getChild(name, namespace)ElementRecebe o primeiro nó Element com o nome e o namespace fornecidos, que é filho imediato desse nó Element.
getChildText(name)StringRecebe o valor de texto do nó com o nome especificado e nenhum namespace, se o nó for um filho imediato do Element.
getChildText(name, namespace)StringRecebe o valor de texto do nó com o nome e o namespace fornecidos, se o nó for um filho imediato do Element.
getChildren()Element[]Recebe todos os nós Element que são filhos imediatos desse nó Element, na ordem em que aparecem no documento.
getChildren(name)Element[]Recebe todos os nós Element com o nome indicado e nenhum namespace que sejam filhos imediatos desse nó Element, na ordem em que aparecem no documento.
getChildren(name, namespace)Element[]Recebe todos os nós Element com o nome e namespace fornecidos que são filhos imediatos desse nó Element, na ordem em que aparecem no documento.
getContent(index)ContentRecebe o nó no índice especificado entre todos os nós que são filhos imediatos do nó {@code Element}.
getContentSize()IntegerExtrai o número de nós que são filhos imediatos do nó {@code Element}.
getDescendants()Content[]Extrai todos os nós que são filhos diretos ou indiretos do nó {@code Element}, na ordem em que aparecem no documento.
getDocument()DocumentAcessa 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.
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 esse 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 o nó Element, se houver um.
removeAttribute(attributeName)BooleanRemove o atributo do nó Element com o nome fornecido e sem namespace, se esse atributo existir.
removeAttribute(attributeName, namespace)BooleanRemove o atributo do nó Element com o nome e o namespace fornecidos, se um atributo existir.
removeContent()Content[]Remove todos os nós que são filhos imediatos do nó {@code Element}.
removeContent(content)BooleanRemove o nó especificado, se o nó for um filho imediato do nó {@code Element}.
removeContent(index)ContentRemove o nó no índice especificado 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 deste nó Element com o nome e o valor fornecidos e nenhum namespace.
setAttribute(name, value, namespace)ElementDefine o atributo deste 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 do nó Element.
setText(text)ElementDefine o valor de texto do nó Element.

EntityRef

Métodos

MétodoTipo de retornoBreve descrição
detach()ContentRemove o nó do nó Element pai.
getName()StringRecebe o nome do nó EntityReference.
getParentElement()ElementRecebe o nó Element pai.
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)StringGera o Document especificado como uma string formatada.
format(element)StringGera o nó Element especificado como uma string formatada.
setEncoding(encoding)FormatDefine a codificação de caracteres que o formatador precisa 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()ContentRemove o nó do nó Element pai.
getData()StringRecebe os dados brutos para cada instrução no nó ProcessingInstruction.
getParentElement()ElementRecebe o nó Element pai.
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()ContentRemove o nó do nó Element pai.
getParentElement()ElementRecebe o nó Element pai.
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 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 especificado, 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.