Class XmlService

XmlService

Questo servizio consente agli script di analizzare, esplorare e creare in modo programmatico documenti 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);
}

Proprietà

ProprietàTipoDescrizione
ContentTypesContentTypeUn'enumerazione che rappresenta i tipi di nodi di contenuti XML.

Metodi

MetodoTipo restituitoBreve descrizione
createCdata(text)CdataCrea un nodo CDATASection scollegato con il valore specificato.
createComment(text)CommentCrea un nodo Comment scollegato con il valore specificato.
createDocType(elementName)DocTypeCrea un nodo DocumentType scollegato per il nodo Element principale con il nome specificato.
createDocType(elementName, systemId)DocTypeCrea un nodo DocumentType scollegato per il nodo Element principale con il nome specificato e l'ID sistema specificato per i dati del sottoinsieme esterno.
createDocType(elementName, publicId, systemId)DocTypeCrea un nodo DocumentType scollegato per il nodo Element principale con il nome specificato, nonché l'ID pubblico e l'ID di sistema specificati per i dati del sottoinsieme esterno.
createDocument()DocumentCrea un documento XML vuoto.
createDocument(rootElement)DocumentCrea un documento XML con il nodo radice Element specificato.
createElement(name)ElementCrea un nodo Element scollegato con il nome locale specificato e nessuno spazio dei nomi.
createElement(name, namespace)ElementCrea un nodo Element scollegato con il nome locale e lo spazio dei nomi specificati.
createText(text)TextCrea un nodo Text scollegato con il valore specificato.
getCompactFormat()FormatCrea un oggetto Format per l'output di un documento XML compatto.
getNamespace(uri)NamespaceCrea un elemento Namespace con l'URI specificato.
getNamespace(prefix, uri)NamespaceCrea un Namespace con il prefisso e l'URI specificati.
getNoNamespace()NamespaceCrea un Namespace che rappresenta l'assenza di uno spazio dei nomi reale.
getPrettyFormat()FormatCrea un oggetto Format per l'output di un documento XML leggibile.
getRawFormat()FormatCrea un oggetto Format per l'output di un documento XML non elaborato.
getXmlNamespace()NamespaceCrea un elemento Namespace con il prefisso xml standard.
parse(xml)DocumentCrea un valore Document dal file XML fornito, senza convalidarlo.

Documentazione dettagliata

createCdata(text)

Crea un nodo CDATASection scollegato con il valore specificato.

Parametri

NomeTipoDescrizione
textStringil valore da impostare

Ritorni

Cdata: il nodo CDATASection appena creato


createComment(text)

Crea un nodo Comment scollegato con il valore specificato.

Parametri

NomeTipoDescrizione
textStringil valore da impostare

Ritorni

Comment: il nodo Comment appena creato


createDocType(elementName)

Crea un nodo DocumentType scollegato per il nodo Element principale con il nome specificato.

Parametri

NomeTipoDescrizione
elementNameStringil nome del nodo radice Element da specificare nella dichiarazione DocType

Ritorni

DocType: il nodo DocumentType appena creato


createDocType(elementName, systemId)

Crea un nodo DocumentType scollegato per il nodo Element principale con il nome specificato e l'ID sistema specificato per i dati del sottoinsieme esterno.

Parametri

NomeTipoDescrizione
elementNameStringil nome del nodo radice Element da specificare nella dichiarazione DocType
systemIdStringl'ID sistema del sottoinsieme esterno di dati da impostare

Ritorni

DocType: il nodo DocumentType appena creato


createDocType(elementName, publicId, systemId)

Crea un nodo DocumentType scollegato per il nodo Element principale con il nome specificato, nonché l'ID pubblico e l'ID di sistema specificati per i dati del sottoinsieme esterno.

Parametri

NomeTipoDescrizione
elementNameStringil nome del nodo radice Element da specificare nella dichiarazione DocType
publicIdStringl'ID pubblico del sottoinsieme esterno di dati da impostare
systemIdStringl'ID sistema del sottoinsieme esterno di dati da impostare

Ritorni

DocType: il nodo DocumentType appena creato


createDocument()

Crea un documento XML vuoto.

Ritorni

Document: il documento appena creato


createDocument(rootElement)

Crea un documento XML con il nodo radice Element specificato.

Parametri

NomeTipoDescrizione
rootElementElementil nodo radice Element per impostare

Ritorni

Document: il documento appena creato


createElement(name)

Crea un nodo Element scollegato con il nome locale specificato e nessuno spazio dei nomi.

Parametri

NomeTipoDescrizione
nameStringil nome locale da impostare

Ritorni

Element: il nodo Element appena creato


createElement(name, namespace)

Crea un nodo Element scollegato con il nome locale e lo spazio dei nomi specificati.

Parametri

NomeTipoDescrizione
nameStringil nome locale da impostare
namespaceNamespacelo spazio dei nomi da impostare

Ritorni

Element: il nodo Element appena creato


createText(text)

Crea un nodo Text scollegato con il valore specificato.

Parametri

NomeTipoDescrizione
textStringil valore da impostare

Ritorni

Text: il nodo Text appena creato


getCompactFormat()

Crea un oggetto Format per l'output di un documento XML compatto. Per impostazione predefinita, il formattatore utilizza la codifica UTF-8, nessun rientro e nessuna interruzione di riga aggiuntiva, ma include la dichiarazione XML e la relativa codifica.

// 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);

Ritorni

Format: il formattatore appena creato


getNamespace(uri)

Crea un elemento Namespace con l'URI specificato.

Parametri

NomeTipoDescrizione
uriStringl'URI dello spazio dei nomi

Ritorni

Namespace: lo spazio dei nomi appena creato


getNamespace(prefix, uri)

Crea un Namespace con il prefisso e l'URI specificati.

Parametri

NomeTipoDescrizione
prefixStringil prefisso per lo spazio dei nomi
uriStringl'URI dello spazio dei nomi

Ritorni

Namespace: lo spazio dei nomi appena creato


getNoNamespace()

Crea un Namespace che rappresenta l'assenza di uno spazio dei nomi reale.

Ritorni

Namespace: lo spazio dei nomi appena creato


getPrettyFormat()

Crea un oggetto Format per l'output di un documento XML leggibile. Per impostazione predefinita, il formattatore utilizza la codifica UTF-8, il rientro di due spazi, i separatori di riga \r\n dopo ogni nodo e include la dichiarazione XML e la relativa codifica.

// 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);

Ritorni

Format: il formattatore appena creato


getRawFormat()

Crea un oggetto Format per l'output di un documento XML non elaborato. Per impostazione predefinita, il formattatore utilizza la codifica UTF-8, nessun rientro e nessuna interruzione di riga oltre a quelle fornite nel documento XML stesso e include la dichiarazione XML e la relativa codifica.

// 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);

Ritorni

Format: il formattatore appena creato


getXmlNamespace()

Crea un elemento Namespace con il prefisso xml standard.

Ritorni

Namespace: lo spazio dei nomi appena creato


parse(xml)

Crea un valore Document dal file XML fornito, senza convalidarlo.

var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
var doc = XmlService.parse(xml);

Parametri

NomeTipoDescrizione
xmlStringil codice XML da analizzare

Ritorni

Document: il documento appena creato