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
create Cdata(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.
create Comment(text)
create Doc Type(elementName)
Crea un nodo Document 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
Doc: Es el nodo Document recién creado.
create Doc Type(elementName, systemId)
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.
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
Doc: Es el nodo Document recién creado.
create Doc Type(elementName, publicId, systemId)
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.
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
Doc: Es el nodo Document recién creado.
create Document()
create Document(rootElement)
create Element(name)
create Element(name, namespace)
create Text(text)
get Compact Format()
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.
get Namespace(uri)
get Namespace(prefix, uri)
get No Namespace()
get Pretty Format()
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.
get Raw Format()
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.