Este servicio permite que las secuencias de comandos analicen, naveguen y creen de manera programática documentos XML.
// Log the title and labels for the first page of blog posts on the // Google Workspace Developer blog. function parseXml() { var url = 'https://gsuite-developers.googleblog.com/atom.xml'; var xml = UrlFetchApp.fetch(url).getContentText(); var document = XmlService.parse(xml); var root = document.getRootElement(); var atom = XmlService.getNamespace('http://www.w3.org/2005/Atom'); var entries = root.getChildren('entry', atom); for (var i = 0; i < entries.length; i++) { var title = entries[i].getChild('title', atom).getText(); var categoryElements = entries[i].getChildren('category', atom); var labels = []; for (var j = 0; j < categoryElements.length; j++) { labels.push(categoryElements[j].getAttribute('term').getValue()); } Logger.log('%s (%s)', title, labels.join(', ')); } } // Create and log an XML representation of the threads in your Gmail inbox. function createXml() { var root = XmlService.createElement('threads'); var threads = GmailApp.getInboxThreads(); for (var i = 0; i < threads.length; i++) { var child = XmlService.createElement('thread') .setAttribute('messageCount', threads[i].getMessageCount()) .setAttribute('isUnread', threads[i].isUnread()) .setText(threads[i].getFirstMessageSubject()); root.addContent(child); } var document = XmlService.createDocument(root); var xml = XmlService.getPrettyFormat().format(document); Logger.log(xml); }
Propiedades
Propiedad | Tipo | Descripción |
---|---|---|
ContentTypes | ContentType | Una enumeración que representa los tipos de nodos de contenido XML. |
Métodos
Método | Tipo de datos que se muestra | Descripción breve |
---|---|---|
createCdata(text) | Cdata | Crea un nodo CDATASection no vinculado con el valor determinado. |
createComment(text) | Comment | Crea un nodo Comment no vinculado con el valor determinado. |
createDocType(elementName) | DocType | Crea un nodo DocumentType no conectado para el nodo raíz Element .
con ese nombre específico. |
createDocType(elementName, systemId) | DocType | Crea 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) | DocType | Crea 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() | Document | Crea un documento XML vacío. |
createDocument(rootElement) | Document | Crea un documento XML con el nodo raíz Element determinado. |
createElement(name) | Element | Crea un nodo Element no conectado con el nombre local dado y sin espacio de nombres. |
createElement(name, namespace) | Element | Crea un nodo Element no conectado con el nombre local y el espacio de nombres especificados. |
createText(text) | Text | Crea un nodo Text no vinculado con el valor determinado. |
getCompactFormat() | Format | Crea un objeto Format para generar un documento XML compacto. |
getNamespace(uri) | Namespace | Crea un Namespace con el URI determinado. |
getNamespace(prefix, uri) | Namespace | Crea un Namespace con el prefijo y el URI especificados. |
getNoNamespace() | Namespace | Crea un Namespace que representa la ausencia de un espacio de nombres real. |
getPrettyFormat() | Format | Crea un objeto Format para generar un documento en formato XML legible por humanos. |
getRawFormat() | Format | Crea un objeto Format para generar un documento XML sin procesar. |
getXmlNamespace() | Namespace | Crea un Namespace con el prefijo xml estándar. |
parse(xml) | Document | Crea un Document a partir del XML determinado, sin validar el XML. |
Documentación detallada
createCdata(text)
Crea un nodo CDATASection
no vinculado con el valor determinado.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
text | String | el valor que se debe establecer |
Volver
Cdata
: Es el nodo CDATASection
recién creado.
createComment(text)
createDocType(elementName)
Crea un nodo DocumentType
no conectado para el nodo raíz Element
.
con ese nombre específico.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
elementName | String | el nombre del nodo raíz Element que se especificará en DocType
declaración |
Volver
DocType
: Es el nodo DocumentType
recién creado.
createDocType(elementName, systemId)
Crea 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.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
elementName | String | el nombre del nodo raíz Element que se especificará en DocType
declaración |
systemId | String | el ID del sistema de los datos del subconjunto externo |
Volver
DocType
: Es el nodo DocumentType
recién creado.
createDocType(elementName, publicId, systemId)
Crea 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.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
elementName | String | el nombre del nodo raíz Element que se especificará en DocType
declaración |
publicId | String | el ID público de los datos del subconjunto externo |
systemId | String | el ID del sistema de los datos del subconjunto externo |
Volver
DocType
: Es el nodo DocumentType
recién creado.
createDocument()
createDocument(rootElement)
createElement(name)
createElement(name, namespace)
createText(text)
getCompactFormat()
Crea un objeto Format
para generar un documento XML compacto. El formateador
de forma predeterminada es la codificación UTF-8
, sin sangría ni saltos de línea adicionales, pero incluye
la declaración XML y su codificación.
// Log an XML document in compact form. var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; var document = XmlService.parse(xml); var output = XmlService.getCompactFormat() .format(document); Logger.log(output);
Volver
Format
: Es el formateador recién creado.
getNamespace(uri)
getNamespace(prefix, uri)
getNoNamespace()
getPrettyFormat()
Crea un objeto Format
para generar un documento en formato XML legible por humanos. El formateador
La configuración predeterminada es la codificación UTF-8
, la sangría de dos espacios, los separadores de línea \r\n
después de
todos los nodos e incluye la declaración XML y su codificación.
// Log an XML document in human-readable form. var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; var document = XmlService.parse(xml); var output = XmlService.getPrettyFormat() .format(document); Logger.log(output);
Volver
Format
: Es el formateador recién creado.
getRawFormat()
Crea un objeto Format
para generar un documento XML sin procesar. El formateador tiene como valor predeterminado
Codificación UTF-8
, sin sangría ni saltos de línea que no sean los proporcionados en el XML
documento en sí y, además, incluye la declaración XML y su codificación.
// Log an XML document in raw form. var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; var document = XmlService.parse(xml); var output = XmlService.getRawFormat() .format(document); Logger.log(output);
Volver
Format
: Es el formateador recién creado.