XML Service

Servicio XML

Este servicio permite que las secuencias de comandos analicen, naveguen y creen documentos XML de manera 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);
}

Clases

NombreDescripción breve
AttributeEs una representación de un atributo XML.
CdataRepresentación de un nodo CDATASection XML.
CommentRepresentación de un nodo Comment XML.
ContentRepresentación de un nodo XML genérico.
ContentTypeEs una enumeración que representa los tipos de nodos de contenido XML.
DocTypeRepresentación de un nodo DocumentType XML.
DocumentRepresentación de un documento XML.
ElementRepresentación de un nodo Element XML.
EntityRefRepresentación de un nodo EntityReference XML.
FormatUn formateador para generar un documento XML, con tres formatos predefinidos que se pueden personalizar aún más
NamespaceRepresentación de un espacio de nombres en formato XML.
ProcessingInstructionRepresentación de un nodo ProcessingInstruction XML.
TextRepresentación de un nodo Text XML.
XmlServiceEste servicio permite que las secuencias de comandos analicen, naveguen y creen documentos XML de manera programática.

Attribute

Métodos

MétodoTipo de datos que se muestraDescripción breve
getName()StringObtiene el nombre local del atributo.
getNamespace()NamespaceObtiene el espacio de nombres para el atributo.
getValue()StringObtiene el valor del atributo.
setName(name)AttributeEstablece el nombre local del atributo.
setNamespace(namespace)AttributeEstablece el espacio de nombres para el atributo.
setValue(value)AttributeEstablece el valor del atributo.

Cdata

Métodos

MétodoTipo de datos que se muestraDescripción breve
append(text)TextAgrega el texto dado a cualquier contenido que ya existe en el nodo.
detach()ContentDesconecta el nodo de su nodo superior Element.
getParentElement()ElementObtiene el nodo Element superior del nodo.
getText()StringObtiene el valor de texto del nodo Text.
getValue()StringObtiene el valor de texto de todos los nodos que son secundarios directos o indirectos del nodo, en el orden en que aparecen en el documento.
setText(text)TextEstablece el valor de texto del nodo Text.

Comment

Métodos

MétodoTipo de datos que se muestraDescripción breve
detach()ContentDesconecta el nodo de su nodo superior Element.
getParentElement()ElementObtiene el nodo Element superior del nodo.
getText()StringObtiene el valor de texto del nodo Comment.
getValue()StringObtiene el valor de texto de todos los nodos que son secundarios directos o indirectos del nodo, en el orden en que aparecen en el documento.
setText(text)CommentEstablece el valor de texto del nodo Comment.

Content

Métodos

MétodoTipo de datos que se muestraDescripción breve
asCdata()CdataConvierte el nodo como un nodo CDATASection para el autocompletado.
asComment()CommentConvierte el nodo como un nodo Comment para el autocompletado.
asDocType()DocTypeConvierte el nodo como un nodo DocumentType para el autocompletado.
asElement()ElementConvierte el nodo como un nodo Element para el autocompletado.
asEntityRef()EntityRefConvierte el nodo como un nodo EntityReference para el autocompletado.
asProcessingInstruction()ProcessingInstructionConvierte el nodo como un nodo ProcessingInstruction para el autocompletado.
asText()TextConvierte el nodo como un nodo Text para el autocompletado.
detach()ContentDesconecta el nodo de su nodo superior Element.
getParentElement()ElementObtiene el nodo Element superior del nodo.
getType()ContentTypeObtiene el tipo de contenido del nodo.
getValue()StringObtiene el valor de texto de todos los nodos que son secundarios directos o indirectos del nodo, en el orden en que aparecen en el documento.

ContentType

Propiedades

PropiedadTipoDescripción
CDATAEnumUn nodo CDATASection XML.
COMMENTEnumUn nodo Comment XML.
DOCTYPEEnumUn nodo DocumentType XML.
ELEMENTEnumUn nodo Element XML.
ENTITYREFEnumUn nodo EntityReference XML.
PROCESSINGINSTRUCTIONEnumUn nodo ProcessingInstruction XML.
TEXTEnumUn nodo Text XML.

DocType

Métodos

MétodoTipo de datos que se muestraDescripción breve
detach()ContentDesconecta el nodo de su nodo superior Element.
getElementName()StringObtiene el nombre del nodo raíz Element especificado en la declaración DocType.
getInternalSubset()StringObtiene los datos del subconjunto interno del nodo DocumentType.
getParentElement()ElementObtiene el nodo Element superior del nodo.
getPublicId()StringObtiene el ID público de los datos del subconjunto externo del nodo DocumentType.
getSystemId()StringObtiene el ID del sistema de los datos del subconjunto externo para el nodo DocumentType.
getValue()StringObtiene el valor de texto de todos los nodos que son secundarios directos o indirectos del nodo, en el orden en que aparecen en el documento.
setElementName(name)DocTypeEstablece el nombre del nodo raíz Element que se especificará en la declaración DocType.
setInternalSubset(data)DocTypeConfigura los datos internos del subconjunto para el nodo DocumentType.
setPublicId(id)DocTypeConfigura el ID público de los datos del subconjunto externo del nodo DocumentType.
setSystemId(id)DocTypeConfigura el ID del sistema de los datos del subconjunto externo del nodo DocumentType.

Document

Métodos

MétodoTipo de datos que se muestraDescripción breve
addContent(content)DocumentAgrega el nodo determinado al final del documento.
addContent(index, content)DocumentInserta el nodo determinado en el índice determinado entre todos los nodos que son elementos secundarios inmediatos del documento.
cloneContent()Content[]Crea copias sin adjuntar de todos los nodos que son elementos secundarios inmediatos del documento.
detachRootElement()ElementDesconecta y muestra el nodo raíz Element del documento.
getAllContent()Content[]Obtiene todos los nodos que son elementos secundarios inmediatos del documento.
getContent(index)ContentObtiene el nodo en el índice determinado entre todos los nodos que son elementos secundarios inmediatos del documento.
getContentSize()IntegerObtiene la cantidad de nodos que son elementos secundarios inmediatos del documento.
getDescendants()Content[]Obtiene todos los nodos que son secundarios directos o indirectos del documento, en el orden en que aparecen en el documento.
getDocType()DocTypeObtiene la declaración DocType del documento.
getRootElement()ElementObtiene el nodo raíz Element del documento.
hasRootElement()BooleanDetermina si el documento tiene un nodo raíz Element.
removeContent()Content[]Quita todos los nodos que son secundarios inmediatos del documento.
removeContent(content)BooleanQuita el nodo determinado si es un elemento secundario inmediato del documento.
removeContent(index)ContentQuita el nodo en el índice determinado entre todos los nodos que son elementos secundarios inmediatos del documento.
setDocType(docType)DocumentEstablece la declaración DocType del documento.
setRootElement(element)DocumentConfigura el nodo raíz Element del documento.

Element

Métodos

MétodoTipo de datos que se muestraDescripción breve
addContent(content)ElementAgrega el nodo dado como el último elemento secundario del nodo Element.
addContent(index, content)ElementInserta el nodo determinado en el índice determinado entre todos los nodos que son elementos secundarios inmediatos del nodo Element.
cloneContent()Content[]Crea copias sin adjuntar de todos los nodos que son secundarios inmediatos del nodo {@code Element}.
detach()ContentDesconecta el nodo de su nodo superior Element.
getAllContent()Content[]Obtiene todos los nodos que son secundarios inmediatos del nodo {@code Element}.
getAttribute(name)AttributeObtiene el atributo para este nodo Element con el nombre dado y sin espacio de nombres.
getAttribute(name, namespace)AttributeObtiene el atributo de este nodo Element con el nombre y el espacio de nombres determinados.
getAttributes()Attribute[]Obtiene todos los atributos de este nodo Element, en el orden en que aparecen en el documento.
getChild(name)ElementObtiene el primer nodo de Element con el nombre dado y sin espacio de nombres que sea un elemento secundario inmediato de este nodo Element.
getChild(name, namespace)ElementObtiene el primer nodo Element con el nombre y el espacio de nombres dados, que es un elemento secundario inmediato de este nodo Element.
getChildText(name)StringObtiene el valor de texto del nodo con el nombre dado y sin espacio de nombres, si el nodo es un elemento secundario inmediato del nodo Element.
getChildText(name, namespace)StringObtiene el valor de texto del nodo con el nombre y el espacio de nombres determinados, si el nodo es un elemento secundario inmediato del nodo Element.
getChildren()Element[]Obtiene todos los nodos Element que son elementos secundarios inmediatos de este nodo Element, en el orden en que aparecen en el documento.
getChildren(name)Element[]Obtiene todos los nodos Element con el nombre dado y ningún espacio de nombres que sean elementos secundarios inmediatos de este nodo Element, en el orden en que aparecen en el documento.
getChildren(name, namespace)Element[]Obtiene todos los nodos Element con el nombre y el espacio de nombres determinados que son elementos secundarios inmediatos de este nodo Element, en el orden en que aparecen en el documento.
getContent(index)ContentObtiene el nodo en el índice determinado entre todos los nodos que son elementos secundarios inmediatos del nodo {@code Element}.
getContentSize()IntegerObtiene la cantidad de nodos que son secundarios inmediatos del nodo {@code Element}.
getDescendants()Content[]Obtiene todos los nodos que son secundarios directos o indirectos del nodo {@code Element}, en el orden en que aparecen en el documento.
getDocument()DocumentObtiene el documento XML que contiene el nodo {@code Element}.
getName()StringObtiene el nombre local del nodo Element.
getNamespace()NamespaceObtiene el espacio de nombres para el nodo Element.
getNamespace(prefix)NamespaceObtiene el espacio de nombres con el prefijo dado para el nodo Element.
getParentElement()ElementObtiene el nodo Element superior del nodo.
getQualifiedName()StringObtiene el nombre local y el prefijo del espacio de nombres del nodo Element, con el formato [namespacePrefix]:[localName].
getText()StringObtiene el valor de texto del nodo Element.
getValue()StringObtiene el valor de texto de todos los nodos que son secundarios directos o indirectos del nodo, en el orden en que aparecen en el documento.
isAncestorOf(other)BooleanDetermina si este nodo Element es un superior directo o indirecto de un nodo Element determinado.
isRootElement()BooleanDetermina si el nodo Element es el nodo raíz del documento.
removeAttribute(attribute)BooleanQuita el atributo especificado para este nodo Element, si existe.
removeAttribute(attributeName)BooleanQuita el atributo de este nodo Element con el nombre dado y sin espacio de nombres, si existe tal atributo.
removeAttribute(attributeName, namespace)BooleanQuita el atributo de este nodo Element con el nombre y el espacio de nombres determinados, si existe tal atributo.
removeContent()Content[]Elimina todos los nodos que son secundarios inmediatos del nodo {@code Element}.
removeContent(content)BooleanElimina el nodo especificado si es un elemento secundario inmediato del nodo {@code Element}.
removeContent(index)ContentElimina el nodo en el índice determinado entre todos los nodos que son elementos secundarios inmediatos del nodo {@code Element}.
setAttribute(attribute)ElementConfigura el atributo dado para este nodo Element.
setAttribute(name, value)ElementConfigura el atributo para este nodo Element con el nombre y valor dados, y sin espacio de nombres.
setAttribute(name, value, namespace)ElementConfigura el atributo para este nodo Element con el nombre, el valor y el espacio de nombres determinados.
setName(name)ElementConfigura el nombre local del nodo Element.
setNamespace(namespace)ElementConfigura el espacio de nombres para el nodo Element.
setText(text)ElementEstablece el valor de texto del nodo Element.

EntityRef

Métodos

MétodoTipo de datos que se muestraDescripción breve
detach()ContentDesconecta el nodo de su nodo superior Element.
getName()StringObtiene el nombre del nodo EntityReference.
getParentElement()ElementObtiene el nodo Element superior del nodo.
getPublicId()StringObtiene el ID público del nodo EntityReference.
getSystemId()StringObtiene el ID del sistema del nodo EntityReference.
getValue()StringObtiene el valor de texto de todos los nodos que son secundarios directos o indirectos del nodo, en el orden en que aparecen en el documento.
setName(name)EntityRefEstablece el nombre del nodo EntityReference.
setPublicId(id)EntityRefConfigura el ID público del nodo EntityReference.
setSystemId(id)EntityRefEstablece el ID del sistema del nodo EntityReference.

Format

Métodos

MétodoTipo de datos que se muestraDescripción breve
format(document)StringMuestra la Document determinada como una string con formato.
format(element)StringGenera el nodo Element determinado como una string con formato.
setEncoding(encoding)FormatEstablece la codificación de caracteres que debe usar el formateador.
setIndent(indent)FormatEstablece la string que se usa para aplicar sangría a los nodos secundarios en relación con los elementos superiores.
setLineSeparator(separator)FormatFija la cadena que se inserta cuando el formateador normalmente inserta un salto de línea.
setOmitDeclaration(omitDeclaration)FormatEstablece si el formateador debe omitir la declaración XML, como <?xml version="1.0" encoding="UTF-8"?>.
setOmitEncoding(omitEncoding)FormatEstablece si el formateador debe omitir la codificación en la declaración en formato XML, como en el campo de codificación en <?xml version="1.0" encoding="UTF-8"?>.

Namespace

Métodos

MétodoTipo de datos que se muestraDescripción breve
getPrefix()StringObtiene el prefijo del espacio de nombres.
getURI()StringObtiene el URI del espacio de nombres.

ProcessingInstruction

Métodos

MétodoTipo de datos que se muestraDescripción breve
detach()ContentDesconecta el nodo de su nodo superior Element.
getData()StringObtiene los datos sin procesar de cada instrucción del nodo ProcessingInstruction.
getParentElement()ElementObtiene el nodo Element superior del nodo.
getTarget()StringObtiene el destino del nodo ProcessingInstruction.
getValue()StringObtiene el valor de texto de todos los nodos que son secundarios directos o indirectos del nodo, en el orden en que aparecen en el documento.

Text

Métodos

MétodoTipo de datos que se muestraDescripción breve
append(text)TextAgrega el texto dado a cualquier contenido que ya existe en el nodo.
detach()ContentDesconecta el nodo de su nodo superior Element.
getParentElement()ElementObtiene el nodo Element superior del nodo.
getText()StringObtiene el valor de texto del nodo Text.
getValue()StringObtiene el valor de texto de todos los nodos que son secundarios directos o indirectos del nodo, en el orden en que aparecen en el documento.
setText(text)TextEstablece el valor de texto del nodo Text.

XmlService

Propiedades

PropiedadTipoDescripción
ContentTypesContentTypeEs una enumeración que representa los tipos de nodos de contenido XML.

Métodos

MétodoTipo de datos que se muestraDescripción breve
createCdata(text)CdataCrea un nodo CDATASection no conectado con el valor dado.
createComment(text)CommentCrea un nodo Comment no conectado con el valor dado.
createDocType(elementName)DocTypeCrea un nodo DocumentType sin vincular para el nodo raíz Element con el nombre determinado.
createDocType(elementName, systemId)DocTypeCrea un nodo DocumentType sin vincular para el nodo raíz Element con el nombre dado y el ID del sistema determinado para los datos del subconjunto externo.
createDocType(elementName, publicId, systemId)DocTypeCrea un nodo DocumentType sin vincular para el nodo raíz Element con el nombre dado, y el ID público y el ID del sistema determinados para los datos del subconjunto externo.
createDocument()DocumentCrea un documento XML vacío.
createDocument(rootElement)DocumentCrea un documento XML con el nodo raíz Element especificado.
createElement(name)ElementCrea un nodo Element sin conectar con el nombre local determinado y sin espacio de nombres.
createElement(name, namespace)ElementCrea un nodo Element no conectado con el nombre local y el espacio de nombres dados.
createText(text)TextCrea un nodo Text no conectado con el valor dado.
getCompactFormat()FormatCrea un objeto Format para generar un documento XML compacto.
getNamespace(uri)NamespaceCrea un Namespace con el URI dado.
getNamespace(prefix, uri)NamespaceCrea un Namespace con el prefijo y el URI especificados.
getNoNamespace()NamespaceCrea un Namespace que representa la ausencia de un espacio de nombres real.
getPrettyFormat()FormatCrea un objeto Format para generar un documento XML legible.
getRawFormat()FormatCrea un objeto Format para generar un documento XML sin procesar.
getXmlNamespace()NamespaceCrea un Namespace con el prefijo estándar xml.
parse(xml)DocumentCrea un Document a partir del XML determinado, sin validar el XML.