Este servicio permite que las secuencias de comandos analicen, naveguen y creen documentos XML de forma programática.
// Log the title and labels for the first page of blog posts on the // Google Workspace Developer blog. function parseXml() { const url = 'https://gsuite-developers.googleblog.com/atom.xml'; const xml = UrlFetchApp.fetch(url).getContentText(); const document = XmlService.parse(xml); const root = document.getRootElement(); const atom = XmlService.getNamespace('http://www.w3.org/2005/Atom'); const entries = root.getChildren('entry', atom); for (let i = 0; i < entries.length; i++) { const title = entries[i].getChild('title', atom).getText(); const categoryElements = entries[i].getChildren('category', atom); const labels = []; for (let 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() { const root = XmlService.createElement('threads'); const threads = GmailApp.getInboxThreads(); for (let i = 0; i < threads.length; i++) { const child = XmlService.createElement('thread') .setAttribute('messageCount', threads[i].getMessageCount()) .setAttribute('isUnread', threads[i].isUnread()) .setText(threads[i].getFirstMessageSubject()); root.addContent(child); } const document = XmlService.createDocument(root); const xml = XmlService.getPrettyFormat().format(document); Logger.log(xml); }
Propiedades
| Propiedad | Tipo | Descripción |
|---|---|---|
Content | Content | Es una enumeración que representa los tipos de nodos de contenido XML. |
Métodos
| Método | Tipo de datos que se devuelve | Descripción breve |
|---|---|---|
create | Cdata | Crea un nodo CDATASection no adjunto con el valor determinado. |
create | Comment | Crea un nodo Comment no adjunto con el valor determinado. |
create | Doc | Crea un nodo Document no adjunto para el nodo raíz Element con el nombre determinado. |
create | Doc | Crea un nodo Document no adjunto para el nodo Element raíz con el nombre determinado y el ID del sistema determinado para los datos del subconjunto externo. |
create | Doc | Crea un nodo Document no adjunto para el nodo Element raíz con el nombre determinado, y el ID público y el ID del sistema determinados para los datos del subconjunto externo. |
create | Document | Crea un documento XML vacío. |
create | Document | Crea un documento XML con el nodo raíz Element determinado. |
create | Element | Crea un nodo Element no adjunto con el nombre local determinado y sin espacio de nombres. |
create | Element | Crea un nodo Element no adjunto con el nombre local y el espacio de nombres determinados. |
create | Text | Crea un nodo Text no adjunto con el valor determinado. |
get | Format | Crea un objeto Format para generar un documento XML compacto. |
get | Namespace | Crea un Namespace con el URI determinado. |
get | Namespace | Crea un Namespace con el prefijo y el URI determinados. |
get | Namespace | Crea un Namespace que representa la ausencia de un espacio de nombres real. |
get | Format | Crea un objeto Format para generar un documento XML legible por humanos. |
get | Format | Crea un objeto Format para generar un documento XML sin procesar. |
get | Namespace | Crea un Namespace con el prefijo xml estándar. |
parse(xml) | Document | Crea un Document a partir del XML proporcionado, sin validar el XML. |
Documentación detallada
createCdata(text)
Crea un nodo CDATASection no adjunto con el valor determinado.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
text | String | Es el valor que se establecerá. |
Volver
Cdata: Es el nodo CDATASection recién creado.
createComment(text)
createDocType(elementName)
Crea un nodo DocumentType no adjunto para el nodo raíz Element con el nombre determinado.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
element | String | Nombre del nodo Element raíz que se especificará en la declaración Doc. |
Volver
DocType: Es el nodo DocumentType recién creado.
createDocType(elementName, systemId)
Crea un nodo DocumentType no adjunto para el nodo Element raíz con el nombre determinado y el ID del sistema determinado para los datos del subconjunto externo.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
element | String | Nombre del nodo Element raíz que se especificará en la declaración Doc. |
system | String | Es el ID del sistema de los datos del subconjunto externo que se configurará. |
Volver
DocType: Es el nodo DocumentType recién creado.
createDocType(elementName, publicId, systemId)
Crea un nodo DocumentType no adjunto para el nodo Element raíz con el nombre determinado, y el ID público y el ID del sistema determinados para los datos del subconjunto externo.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
element | String | Nombre del nodo Element raíz que se especificará en la declaración Doc. |
public | String | Es el ID público de los datos del subconjunto externo que se configurará. |
system | String | Es el ID del sistema de los datos del subconjunto externo que se configurará. |
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 usa la codificación UTF-8 de forma predeterminada, no incluye sangría ni saltos de línea adicionales, pero sí incluye la declaración XML y su codificación.
// Log an XML document in compact form. const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; const document = XmlService.parse(xml); const 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 XML legible por humanos. El formateador usa de forma predeterminada la codificación UTF-8, la sangría de dos espacios, los separadores de línea \r\n después de cada nodo y la declaración XML con su codificación.
// Log an XML document in human-readable form. const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; const document = XmlService.parse(xml); const 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 usa la codificación UTF-8 de forma predeterminada, no incluye sangría ni saltos de línea, excepto los que se proporcionan en el documento XML, y sí incluye la declaración XML y su codificación.
// Log an XML document in raw form. const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>'; const document = XmlService.parse(xml); const output = XmlService.getRawFormat().format(document); Logger.log(output);
Volver
Format: Es el formateador recién creado.