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

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.
DocumentRepresentação de um documento XML.
ElementUma representação de um nó Element XML.
EntityRefUma representação de um nó EntityReference XML.
FormatUm formatador para a saída de 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 os 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()StringAcessa 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ó pai Element.
getParentElement()ElementRecebe o nó pai do nó Element.
getText()StringAcessa o valor de texto do nó Text.
getValue()StringAcessa 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ó pai Element.
getParentElement()ElementRecebe o nó pai do nó Element.
getText()StringAcessa o valor de texto do nó Comment.
getValue()StringAcessa 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()CdataTransmitir o nó como um nó CDATASection para fins de preenchimento automático
asComment()CommentTransmitir o nó como um nó Comment para fins de preenchimento automático
asDocType()DocTypeTransmitir o nó como um nó DocumentType para fins de preenchimento automático
asElement()ElementTransmitir o nó como um nó Element para fins de preenchimento automático
asEntityRef()EntityRefTransmitir o nó como um nó EntityReference para fins de preenchimento automático
asProcessingInstruction()ProcessingInstructionTransmitir o nó como um nó ProcessingInstruction para fins de preenchimento automático
asText()TextTransmitir o nó como um nó Text para fins de preenchimento automático
detach()ContentRemove o nó do nó pai Element.
getParentElement()ElementRecebe o nó pai do nó Element.
getType()ContentTypeRecebe o tipo de conteúdo do nó.
getValue()StringAcessa 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()ContentRemove o nó do nó pai Element.
getElementName()StringRecebe o nome do nó raiz Element especificado na declaração DocType.
getInternalSubset()StringRecebe os dados do subconjunto interno para o nó DocumentType.
getParentElement()ElementRecebe o nó pai do nó Element.
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()StringAcessa 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 no final do documento.
addContent(index, content)DocumentInsere determinado nó 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()ElementRemovendo 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 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 eles aparecem no documento.
getDocType()DocTypeRecebe a declaração DocType do documento.
getRootElement()ElementRecebe o nó raiz Element do documento.
hasRootElement()BooleanDetermina se o documento tem um nó raiz Element.
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ó fornecido como o último filho do nó Element.
addContent(index, content)ElementInsere o nó especificado no índice 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ó {6}code Element}.
detach()ContentRemove o nó do nó pai Element.
getAllContent()Content[]Recebe todos os nós que são filhos imediatos do nó PLURALcode Element}.
getAttribute(name)AttributeRecebe o atributo para este nó Element com o nome informado e sem namespace.
getAttribute(name, namespace)AttributeRecebe o atributo para este nó Element com o nome e o namespace fornecidos.
getAttributes()Attribute[]Recebe todos os atributos do 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 um filho imediato desse nó Element.
getChild(name, namespace)ElementRecebe o primeiro nó Element com o nome e o namespace fornecidos que são filhos imediatos desse nó Element.
getChildText(name)StringAcessa 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)StringAcessa o valor de texto do nó com o nome e o namespace fornecidos, se o nó for um filho imediato do nó Element.
getChildren()Element[]Recebe todos os nós Element que são filhos imediatos desse nó Element, na ordem que aparecem no documento.
getChildren(name)Element[]Recebe todos os nós Element com o nome fornecido 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 o 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ó do {6}código do elemento}.
getContentSize()IntegerRecebe o número de nós que são filhos imediatos do nó PLURALcode Element}.
getDescendants()Content[]Recebe todos os nós que são filhos diretos ou indiretos do nó PLURALcode Element}, na ordem em que eles aparecem no documento.
getDocument()DocumentRecebe o documento XML que contém o nó PLURALcode Element}.
getName()StringRecebe o nome local do nó Element.
getNamespace()NamespaceRecebe o namespace para o nó Element.
getNamespace(prefix)NamespaceRecebe o namespace com o prefixo especificado para o nó Element.
getParentElement()ElementRecebe o nó pai do nó Element.
getQualifiedName()StringAcessa o prefixo local de nome e namespace do nó Element, na forma [namespacePrefix]:[localName].
getText()StringAcessa o valor de texto do nó Element.
getValue()StringAcessa 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 para este nó Element, se esse atributo existir.
removeAttribute(attributeName)BooleanRemove o atributo para este nó Element com o nome informado e nenhum namespace, se esse atributo existir.
removeAttribute(attributeName, namespace)BooleanRemove o atributo para este 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ó {6}code Element}.
removeContent(content)BooleanRemove o nó especificado se o nó for um filho imediato do nó {6}code Element}.
removeContent(index)ContentRemove o nó no índice especificado entre todos os nós que são filhos imediatos do nó do {0/}code Element}.
setAttribute(attribute)ElementDefine o atributo especificado para este nó do Element.
setAttribute(name, value)ElementDefine o atributo para este nó Element com o nome, o valor e nenhum 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 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ó pai Element.
getName()StringRecebe o nome do nó EntityReference.
getParentElement()ElementRecebe o nó pai do nó Element.
getPublicId()StringRecebe o ID público do nó EntityReference.
getSystemId()StringRecebe o ID do sistema do nó EntityReference.
getValue()StringAcessa 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 a Document fornecida como uma string formatada.
format(element)StringMostra 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 inseriria 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ó pai Element.
getData()StringRecebe os dados brutos para cada instrução no nó ProcessingInstruction.
getParentElement()ElementRecebe o nó pai do nó Element.
getTarget()StringRecebe o destino do nó ProcessingInstruction.
getValue()StringAcessa 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ó pai Element.
getParentElement()ElementRecebe o nó pai do nó Element.
getText()StringAcessa o valor de texto do nó Text.
getValue()StringAcessa 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 informado.
createComment(text)CommentCria um nó Comment não anexado com o valor informado.
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ó Element raiz com o nome informado e o ID do sistema informado para os dados de subconjuntos externos.
createDocType(elementName, publicId, systemId)DocTypeCria um nó DocumentType não anexado para o nó Element raiz com o nome informado e o código público e do sistema informados para os dados de subconjuntos externos.
createDocument()DocumentCria um documento XML vazio.
createDocument(rootElement)DocumentCria um documento XML com o nó raiz Element fornecido.
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 e o namespace locais fornecidos.
createText(text)TextCria um nó Text não anexado com o valor informado.
getCompactFormat()FormatCria um objeto Format para gerar um documento XML compacto.
getNamespace(uri)NamespaceCria um Namespace com o URI informado.
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 padrão xml.
parse(xml)DocumentCria um Document do XML fornecido, sem validar o XML.