XML Service

Servicio XML

Este servicio permite que las secuencias de comandos analicen, naveguen y creen de manera programática en formato 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);
}

Clases

NombreDescripción breve
AttributeEs una representación de un atributo XML.
CdataEs una representación de un nodo CDATASection XML.
CommentEs una representación de un nodo Comment XML.
ContentEs una representación de un nodo XML genérico.
ContentTypeUna enumeración que representa los tipos de nodos de contenido XML.
DocTypeEs una representación de un nodo DocumentType XML.
DocumentEs una representación de un documento XML.
ElementEs una representación de un nodo Element XML.
EntityRefEs una representación de un nodo EntityReference XML.
FormatUn formateador para la salida de un documento XML, con tres formatos predefinidos que pueden ser aún más personalizada.
NamespaceUna representación de un espacio de nombres en formato XML.
ProcessingInstructionEs una representación de un nodo ProcessingInstruction XML.
TextEs una representación de un nodo Text XML.
XmlServiceEste servicio permite que las secuencias de comandos analicen, naveguen y creen de manera programática documentos XML.

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 del atributo.
getValue()StringObtiene el valor del atributo.
setName(name)AttributeEstablece el nombre local del atributo.
setNamespace(namespace)AttributeEstablece el espacio de nombres del 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 exista en el nodo.
detach()ContentDesconecta el nodo de su nodo superior Element.
getParentElement()ElementObtiene el nodo superior Element 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. 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 superior Element 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. 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 con fines de autocompletado.
asComment()CommentConvierte el nodo como un nodo Comment con fines de autocompletado.
asDocType()DocTypeConvierte el nodo como un nodo DocumentType con fines de autocompletado.
asElement()ElementConvierte el nodo como un nodo Element con fines de autocompletado.
asEntityRef()EntityRefConvierte el nodo como un nodo EntityReference con fines de autocompletado.
asProcessingInstruction()ProcessingInstructionConvierte el nodo como un nodo ProcessingInstruction con fines de autocompletado.
asText()TextConvierte el nodo como un nodo Text con fines de autocompletado.
detach()ContentDesconecta el nodo de su nodo superior Element.
getParentElement()ElementObtiene el nodo superior Element 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. aparecen en el documento.

ContentType

Propiedades

PropiedadTipoDescripción
CDATAEnumUn nodo CDATASection de XML.
COMMENTEnumUn nodo Comment de XML.
DOCTYPEEnumUn nodo DocumentType de XML.
ELEMENTEnumUn nodo Element de XML.
ENTITYREFEnumUn nodo EntityReference de XML.
PROCESSINGINSTRUCTIONEnumUn nodo ProcessingInstruction de XML.
TEXTEnumUn nodo Text de 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 superior Element 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 del 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. aparecen en el documento.
setElementName(name)DocTypeEstablece el nombre del nodo raíz Element que se especificará en DocType declaración.
setInternalSubset(data)DocTypeEstablece los datos del subconjunto interno para el nodo DocumentType.
setPublicId(id)DocTypeEstablece el ID público de los datos del subconjunto externo del nodo DocumentType.
setSystemId(id)DocTypeEstablece el ID del sistema de los datos del subconjunto externo para el nodo DocumentType.

Document

Métodos

MétodoTipo de datos que se muestraDescripción breve
addContent(content)DocumentAnexa el nodo determinado al final del documento.
addContent(index, content)DocumentInserta el nodo determinado en el índice determinado entre todos los nodos que son secundarios inmediatos de la .
cloneContent()Content[]Crea copias no adjuntas 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 secundarios inmediatos del documento.
getContent(index)ContentObtiene el nodo en el índice determinado entre todos los nodos que son secundarios inmediatos de la .
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 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)ContentElimina el nodo en el índice determinado entre todos los nodos que son secundarios inmediatos de la .
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 determinado 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 secundarios inmediatos de la Nodo Element.
cloneContent()Content[]Crea copias no adjuntas 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 especificados.
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 determinado y sin espacio de nombres que sea un elemento inmediato elemento secundario de este nodo Element.
getChild(name, namespace)ElementObtiene el primer nodo de Element con el nombre y el espacio de nombres especificados que es un elemento elemento secundario de este nodo Element.
getChildText(name)StringObtiene el valor de texto del nodo con el nombre determinado 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 especificados si el nodo es un elemento elemento secundario del nodo Element
getChildren()Element[]Obtiene todos los nodos Element que son secundarios inmediatos de este nodo Element, en el orden en el que aparecen en el documento.
getChildren(name)Element[]Obtiene todos los nodos de Element con el nombre determinado y ningún espacio de nombres que sean secundarios inmediatos. de este nodo Element, en el orden en que aparecen en el documento.
getChildren(name, namespace)Element[]Obtiene todos los nodos de Element con el nombre y el espacio de nombres especificados que son secundarios inmediatos de este nodo de 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 secundarios inmediatos de la {@code Element}.
getContentSize()IntegerObtiene el número 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 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 especificado para el nodo Element.
getParentElement()ElementObtiene el nodo superior Element del nodo.
getQualifiedName()StringObtiene el nombre local y el prefijo del espacio de nombres del nodo Element, en 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. aparecen en el documento.
isAncestorOf(other)BooleanDetermina si este nodo de Element es un elemento 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 uno.
removeAttribute(attributeName)BooleanQuita el atributo de este nodo Element con el nombre dado y sin espacio de nombres, si existe ese atributo.
removeAttribute(attributeName, namespace)BooleanQuita el atributo de este nodo Element con el nombre y el espacio de nombres especificados, de ser así. existe un atributo.
removeContent()Content[]Elimina todos los nodos que son secundarios inmediatos del nodo {@code Element}.
removeContent(content)BooleanElimina un nodo determinado si el nodo es un elemento secundario inmediato del nodo {@code Element}.
removeContent(index)ContentElimina el nodo en el índice determinado entre todos los nodos que son secundarios inmediatos de la {@code Element}.
setAttribute(attribute)ElementEstablece el atributo proporcionado para este nodo Element.
setAttribute(name, value)ElementEstablece el atributo de este nodo Element con el nombre y el valor especificados, y sin espacio de nombres.
setAttribute(name, value, namespace)ElementEstablece el atributo de este nodo Element con el nombre, el valor y el espacio de nombres especificados.
setName(name)ElementEstablece 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 superior Element 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. aparecen en el documento.
setName(name)EntityRefEstablece el nombre del nodo EntityReference.
setPublicId(id)EntityRefEstablece 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 el Document proporcionado como una string con formato.
format(element)StringMuestra 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 cadena que se usa para aplicar sangría a los nodos secundarios en relación con sus nodos superiores.
setLineSeparator(separator)FormatEstablece la cadena que se insertará siempre que el formateador insertaría 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 XML, como 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 para el 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 en el nodo ProcessingInstruction.
getParentElement()ElementObtiene el nodo superior Element 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. 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 exista en el nodo.
detach()ContentDesconecta el nodo de su nodo superior Element.
getParentElement()ElementObtiene el nodo superior Element 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. aparecen en el documento.
setText(text)TextEstablece el valor de texto del nodo Text.

XmlService

Propiedades

PropiedadTipoDescripción
ContentTypesContentTypeUna 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 vinculado con el valor determinado.
createComment(text)CommentCrea un nodo Comment no vinculado con el valor determinado.
createDocType(elementName)DocTypeCrea un nodo DocumentType no conectado para el nodo raíz Element. con ese nombre específico.
createDocType(elementName, systemId)DocTypeCrea un nodo DocumentType no conectado para el nodo raíz Element. con un nombre y un ID de sistema determinados para los datos del subconjunto externo.
createDocType(elementName, publicId, systemId)DocTypeCrea un nodo DocumentType no conectado para el nodo raíz Element. con el nombre determinado, así como el ID público y el ID de sistema especificados 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 determinado.
createElement(name)ElementCrea un nodo Element no conectado con el nombre local dado y sin espacio de nombres.
createElement(name, namespace)ElementCrea un nodo Element no conectado con el nombre local y el espacio de nombres especificados.
createText(text)TextCrea un nodo Text no vinculado con el valor determinado.
getCompactFormat()FormatCrea un objeto Format para generar un documento XML compacto.
getNamespace(uri)NamespaceCrea un Namespace con el URI determinado.
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 en formato XML legible por humanos.
getRawFormat()FormatCrea un objeto Format para generar un documento XML sin procesar.
getXmlNamespace()NamespaceCrea un Namespace con el prefijo xml estándar.
parse(xml)DocumentCrea un Document a partir del XML determinado, sin validar el XML.