XML Service

Serviço XML

Com esse serviço, os scripts podem analisar, navegar e criar conteúdo documentos XML.

// 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 mais personalizado.
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 forma 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()ContentSepara o nó do nó pai Element.
getParentElement()ElementRecebe o nó Element pai do nó.
getText()StringRecebe o valor de texto do nó Text.
getValue()StringExtrai o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem como eles aparecem no documento.
setText(text)TextDefine o valor de texto do nó Text.

Comment

Métodos

MétodoTipo de retornoBreve descrição
detach()ContentSepara o nó do nó pai Element.
getParentElement()ElementRecebe o nó Element pai do nó.
getText()StringRecebe o valor de texto do nó Comment.
getValue()StringExtrai o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem como eles 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()ContentSepara o nó do nó pai Element.
getParentElement()ElementRecebe o nó Element pai do nó.
getType()ContentTypeRecebe o tipo de conteúdo do nó.
getValue()StringExtrai o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem como eles aparecem no documento.

ContentType

Propriedades

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

DocType

Métodos

MétodoTipo de retornoBreve descrição
detach()ContentSepara 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ó 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()StringExtrai o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem como eles aparecem no documento.
setElementName(name)DocTypeDefine o nome do nó raiz Element a ser especificado no DocType. declaração de serviço.
setInternalSubset(data)DocTypeDefine os dados de subconjuntos internos 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()ElementSepara e retorna o nó raiz Element do documento.
getAllContent()Content[]Recebe todos os nós que são filhos imediatos do documento.
getContent(index)ContentExtrai 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 no documento.
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ó determinado, se o nó for 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()ContentSepara o nó do nó pai Element.
getAllContent()Content[]Recebe todos os nós que são filhos imediatos do nó {@code Element}.
getAttribute(name)AttributeRecebe o atributo desse nó Element com o nome determinado 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 desse 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 imediato filho desse nó Element.
getChild(name, namespace)ElementRecebe o primeiro nó Element com o nome e o namespace fornecidos que é imediato filho desse nó Element.
getChildText(name)StringExtrai o valor de texto do nó com o nome indicado 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 um nó imediato filho do nó Element.
getChildren()Element[]Recebe todos os nós Element que são filhos imediatos deste nó Element, no ordem em que elas 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 de este nó Element, na ordem em que eles aparecem no documento.
getContent(index)ContentExtrai o nó no índice especificado entre todos os nós que são filhos imediatos do {@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()DocumentExtrai 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()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()StringExtrai o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem como eles 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 esse nó Element, se esse atributo existir.
removeAttribute(attributeName)BooleanRemove o atributo desse nó Element com o nome fornecido e sem namespace, se esse atributo existe.
removeAttribute(attributeName, namespace)BooleanRemove o atributo desse nó Element com o nome e namespace fornecidos, se tais um atributo existe.
removeContent()Content[]Remove todos os nós que são filhos imediatos do nó {@code Element}.
removeContent(content)BooleanRemove o nó determinado, 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 {@code Element} .
setAttribute(attribute)ElementDefine o atributo fornecido para este nó Element.
setAttribute(name, value)ElementDefine o atributo do nó Element com o nome, o valor e sem o namespace fornecidos.
setAttribute(name, value, namespace)ElementDefine o atributo do 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()ContentSepara o nó do nó pai Element.
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()StringExtrai o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem como eles 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 fornecido como uma string formatada.
format(element)StringGera 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 nós filhos em relação aos pais.
setLineSeparator(separator)FormatDefine a string a ser inserida sempre que o formatador normalmente inserir 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 deve 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()ContentSepara o nó do nó pai Element.
getData()StringRecebe os dados brutos para cada instrução no nó ProcessingInstruction.
getParentElement()ElementRecebe o nó Element pai do nó.
getTarget()StringRecebe o destino do nó ProcessingInstruction.
getValue()StringExtrai o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem como eles 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()ContentSepara o nó do nó pai Element.
getParentElement()ElementRecebe o nó Element pai do nó.
getText()StringRecebe o valor de texto do nó Text.
getValue()StringExtrai o valor de texto de todos os nós que são filhos diretos ou indiretos do nó, na ordem como eles 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 e o ID do sistema fornecidos 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 e o ID públicos e de sistema fornecidos 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 fornecido 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 saída de um documento XML legível.
getRawFormat()FormatCria um objeto Format para saída de 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.