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 muestra | Descripción breve |
---|---|---|
create | Cdata | Crea un nodo CDATASection sin adjuntar con el valor determinado. |
create | Comment | Crea un nodo Comment sin adjuntar con el valor determinado. |
create | Doc | Crea un nodo Document sin adjuntar para el nodo Element raíz con el nombre determinado. |
create | Doc | Crea un nodo Document no conectado para el nodo Element raíz con el nombre y el ID del sistema determinados para los datos del subconjunto externo. |
create | Doc | Crea un nodo Document 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. |
create | Document | Crea un documento XML vacío. |
create | Document | Crea un documento XML con el nodo Element raíz determinado. |
create | Element | Crea un nodo Element sin conectar con el nombre local especificado y sin espacio de nombres. |
create | Element | Crea un nodo Element sin conectar con el nombre y el espacio de nombres locales especificados. |
create | Text | Crea un nodo Text sin adjuntar con el valor determinado. |
get | Format | Crea un objeto Format para generar un documento XML compacto. |
get | Namespace | Crea un Namespace con el URI especificado. |
get | Namespace | Crea un Namespace con el prefijo y el URI especificados. |
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
sin adjuntar con el valor determinado.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
text | String | 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
sin adjuntar para el nodo Element
raíz con el nombre determinado.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
element | String | el 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 conectado para el nodo Element
raíz con el nombre y el ID del sistema determinados para los datos del subconjunto externo.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
element | String | el nombre del nodo Element raíz que se especificará en la declaración Doc |
system | String | el ID del sistema de los datos del subconjunto externo que se establecerán |
Volver
Doc
: Es el nodo Document
recién creado.
create Doc Type(elementName, publicId, systemId)
Crea un nodo Document
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.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
element | String | el nombre del nodo Element raíz que se especificará en la declaración Doc |
public | String | el ID público de los datos del subconjunto externo que se establecerán |
system | String | el ID del sistema de los datos del subconjunto externo que se establecerán |
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 formato usa de forma predeterminada 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. 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 formato usa de forma predeterminada la codificación UTF-8
, la sangría de dos espacios, los separadores de líneas \r\n
después de cada nodo y, además, incluye la declaración XML y 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 formato usa de forma predeterminada la codificación UTF-8
, sin sangría ni saltos de línea, excepto los que se proporcionan en el documento en formato XML, y también 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.