XML Service

Servicio XML

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

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.
ContentTypeEs una 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.
FormatEs un formato para generar un documento XML, con tres formatos predefinidos que se pueden personalizar aún más.
NamespaceEs una representación de un espacio de nombres 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 documentos XML de forma 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 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 determinado a cualquier contenido que ya exista en el nodo.
detach()ContentDesconecta el nodo de su nodo Element superior.
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 Element superior.
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()CdataTransmite el nodo como un nodo CDATASection para el autocompletado.
asComment()CommentTransmite el nodo como un nodo Comment para el autocompletado.
asDocType()DocTypeTransmite el nodo como un nodo DocumentType para el autocompletado.
asElement()ElementTransmite el nodo como un nodo Element para el autocompletado.
asEntityRef()EntityRefTransmite el nodo como un nodo EntityReference para el autocompletado.
asProcessingInstruction()ProcessingInstructionTransmite el nodo como un nodo ProcessingInstruction para el autocompletado.
asText()TextTransmite el nodo como un nodo Text para el autocompletado.
detach()ContentDesconecta el nodo de su nodo Element superior.
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 Element superior.
getElementName()StringObtiene el nombre del nodo Element raíz especificado en la declaración DocType.
getInternalSubset()StringObtiene los datos del subconjunto interno para el nodo DocumentType.
getParentElement()ElementObtiene el nodo Element superior del nodo.
getPublicId()StringObtiene el ID público de los datos del subconjunto externo para el 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 Element raíz que se especificará en la declaración DocType.
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 para el 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)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 secundarios inmediatos del documento.
detachRootElement()ElementDesconecta y muestra el nodo Element raíz 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 del documento.
getContentSize()IntegerObtiene la cantidad de nodos que son elementos secundarios inmediatos del documento.
getDescendants()Content[]Obtiene todos los nodos que son elementos secundarios directos o indirectos del documento, en el orden en que aparecen en él.
getDocType()DocTypeObtiene la declaración DocType del documento.
getRootElement()ElementObtiene el nodo Element raíz del documento.
hasRootElement()BooleanDetermina si el documento tiene un nodo Element raíz.
removeContent()Content[]Quita todos los nodos que sean elementos 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 secundarios inmediatos del documento.
setDocType(docType)DocumentEstablece la declaración DocType del documento.
setRootElement(element)DocumentEstablece el nodo Element raíz 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 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 Element superior.
getAllContent()Content[]Obtiene todos los nodos que son secundarios inmediatos del nodo {@code Element}.
getAttribute(name)AttributeObtiene el atributo de este nodo Element con el nombre determinado 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 Element con el nombre determinado 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 determinados que es un elemento secundario inmediato 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 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 determinado y sin 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 elementos 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 del nodo Element.
getNamespace(prefix)NamespaceObtiene el espacio de nombres con el prefijo determinado 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, 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 en el documento.
isAncestorOf(other)BooleanDetermina si este nodo 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 determinado para este nodo Element, si existe.
removeAttribute(attributeName)BooleanQuita el atributo de este nodo Element con el nombre determinado y sin espacio de nombres, si existe un atributo de este tipo.
removeAttribute(attributeName, namespace)BooleanQuita el atributo de este nodo Element con el nombre y el espacio de nombres determinados, si existe un atributo de este tipo.
removeContent()Content[]Quita todos los nodos que sean secundarios inmediatos del nodo {@code Element}.
removeContent(content)BooleanQuita el nodo determinado, si es un elemento secundario inmediato del nodo {@code Element}.
removeContent(index)ContentQuita el nodo en el índice determinado entre todos los nodos que son secundarios inmediatos del nodo {@code Element}.
setAttribute(attribute)ElementEstablece el atributo determinado para este nodo Element.
setAttribute(name, value)ElementEstablece el atributo para este nodo Element con el nombre y el valor determinados, y sin espacio de nombres.
setAttribute(name, value, namespace)ElementEstablece el atributo para este nodo Element con el nombre, el valor y el espacio de nombres determinados.
setName(name)ElementEstablece el nombre local del nodo Element.
setNamespace(namespace)ElementEstablece 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 Element superior.
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)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 determinado como una cadena con formato.
format(element)StringGenera el nodo Element determinado como una cadena con formato.
setEncoding(encoding)FormatEstablece la codificación de caracteres que debe usar el formateador.
setIndent(indent)FormatEstablece la cadena que se usa para indentar los nodos secundarios en relación con sus elementos superiores.
setLineSeparator(separator)FormatEstablece la cadena que se insertará cada vez que el formato inserte un salto de línea de forma normal.
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 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 Element superior.
getData()StringObtiene los datos sin procesar de cada instrucción en el nodo ProcessingInstruction.
getParentElement()ElementObtiene el nodo Element superior del nodo.
getTarget()StringObtiene el objetivo 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 determinado a cualquier contenido que ya exista en el nodo.
detach()ContentDesconecta el nodo de su nodo Element superior.
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 sin adjuntar con el valor determinado.
createComment(text)CommentCrea un nodo Comment sin adjuntar con el valor determinado.
createDocType(elementName)DocTypeCrea un nodo DocumentType sin adjuntar para el nodo Element raíz con el nombre determinado.
createDocType(elementName, systemId)DocTypeCrea un nodo DocumentType no conectado para el nodo Element raíz con el nombre y el ID del sistema determinados para los datos del subconjunto externo.
createDocType(elementName, publicId, systemId)DocTypeCrea un nodo DocumentType no conectado para el nodo Element raíz con el nombre determinado, y el ID público y el ID del sistema para los datos del subconjunto externo.
createDocument()DocumentCrea un documento XML vacío.
createDocument(rootElement)DocumentCrea un documento XML con el nodo Element raíz determinado.
createElement(name)ElementCrea un nodo Element sin conectar con el nombre local especificado y sin espacio de nombres.
createElement(name, namespace)ElementCrea un nodo Element sin conectar con el nombre y el espacio de nombres locales especificados.
createText(text)TextCrea un nodo Text sin adjuntar con el valor determinado.
getCompactFormat()FormatCrea un objeto Format para generar un documento XML compacto.
getNamespace(uri)NamespaceCrea un Namespace con el URI especificado.
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 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 proporcionado, sin validar el XML.