Class XmlService

XmlService

Questo servizio consente agli script di analizzare, navigare e creare programmaticamente documenti XML.

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

Proprietà

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

Metodi

MetodoTipo restituitoBreve descrizione
createCdata(text)CdataCrea un nodo CDATASection non collegato con il valore specificato.
createComment(text)CommentCrea un nodo Comment non collegato con il valore specificato.
createDocType(elementName)DocTypeCrea un nodo DocumentType non collegato per il nodo principale Element con il nome specificato.
createDocType(elementName, systemId)DocTypeCrea un nodo DocumentType non collegato per il nodo Element radice con il nome specificato e l'ID sistema specificato per i dati del sottoinsieme esterno.
createDocType(elementName, publicId, systemId)DocTypeCrea un nodo DocumentType non collegato per il nodo Element radice con il nome specificato e l'ID pubblico e l'ID sistema specificati per i dati del sottoinsieme esterno.
createDocument()DocumentCrea un documento XML vuoto.
createDocument(rootElement)DocumentCrea un documento XML con il nodo Element principale specificato.
createElement(name)ElementCrea un nodo Element non collegato con il nome locale specificato e senza spazio dei nomi.
createElement(name, namespace)ElementCrea un nodo Element non collegato con il nome locale e lo spazio dei nomi specificati.
createText(text)TextCrea un nodo Text non collegato con il valore specificato.
getCompactFormat()FormatCrea un oggetto Format per l'output di un documento XML compatto.
getNamespace(uri)NamespaceCrea un 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 generare un documento XML leggibile.
getRawFormat()FormatCrea un oggetto Format per l'output di un documento XML non elaborato.
getXmlNamespace()NamespaceCrea un Namespace con il prefisso standard xml.
parse(xml)DocumentCrea un Document dal file XML specificato, senza convalidarlo.

Documentazione dettagliata

createCdata(text)

Crea un nodo CDATASection non collegato con il valore specificato.

Parametri

NomeTipoDescrizione
textStringIl valore da impostare.

Indietro

Cdata: il nodo CDATASection appena creato.


createComment(text)

Crea un nodo Comment non collegato con il valore specificato.

Parametri

NomeTipoDescrizione
textStringIl valore da impostare.

Indietro

Comment: il nodo Comment appena creato.


createDocType(elementName)

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

Parametri

NomeTipoDescrizione
elementNameStringIl nome del nodo radice Element da specificare nella dichiarazione DocType.

Indietro

DocType: il nodo DocumentType appena creato.


createDocType(elementName, systemId)

Crea un nodo DocumentType non collegato per il nodo Element radice 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 dei dati del sottoinsieme esterno da impostare.

Indietro

DocType: il nodo DocumentType appena creato.


createDocType(elementName, publicId, systemId)

Crea un nodo DocumentType non collegato per il nodo Element radice con il nome specificato e l'ID pubblico e l'ID sistema specificati per i dati del sottoinsieme esterno.

Parametri

NomeTipoDescrizione
elementNameStringIl nome del nodo radice Element da specificare nella dichiarazione DocType.
publicIdStringL'ID pubblico dei dati del sottoinsieme esterno da impostare.
systemIdStringL'ID sistema dei dati del sottoinsieme esterno da impostare.

Indietro

DocType: il nodo DocumentType appena creato.


createDocument()

Crea un documento XML vuoto.

Indietro

Document: il documento appena creato.


createDocument(rootElement)

Crea un documento XML con il nodo Element principale specificato.

Parametri

NomeTipoDescrizione
rootElementElementIl nodo radice Element da impostare.

Indietro

Document: il documento appena creato.


createElement(name)

Crea un nodo Element non collegato con il nome locale specificato e senza spazio dei nomi.

Parametri

NomeTipoDescrizione
nameStringIl nome locale da impostare.

Indietro

Element: il nodo Element appena creato.


createElement(name, namespace)

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

Parametri

NomeTipoDescrizione
nameStringIl nome locale da impostare.
namespaceNamespaceLo spazio dei nomi da impostare.

Indietro

Element: il nodo Element appena creato.


createText(text)

Crea un nodo Text non collegato con il valore specificato.

Parametri

NomeTipoDescrizione
textStringIl valore da impostare.

Indietro

Text: il nodo Text appena creato.


getCompactFormat()

Crea un oggetto Format per l'output di un documento XML compatto. Il formattatore utilizza per impostazione predefinita la codifica UTF-8, senza rientro e senza interruzioni di riga aggiuntive, ma include la dichiarazione XML e la relativa codifica.

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

Indietro

Format: il nuovo formattatore creato.


getNamespace(uri)

Crea un Namespace con l'URI specificato.

Parametri

NomeTipoDescrizione
uriStringL'URI dello spazio dei nomi.

Indietro

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.

Indietro

Namespace: lo spazio dei nomi appena creato.


getNoNamespace()

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

Indietro

Namespace: lo spazio dei nomi appena creato.


getPrettyFormat()

Crea un oggetto Format per generare un documento XML leggibile. Il formatter utilizza per impostazione predefinita 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.
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);

Indietro

Format: il nuovo formattatore creato.


getRawFormat()

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

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

Indietro

Format: il nuovo formattatore creato.


getXmlNamespace()

Crea un Namespace con il prefisso standard xml.

Indietro

Namespace: lo spazio dei nomi appena creato.


parse(xml)

Crea un Document dal file XML specificato, senza convalidarlo.

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

Parametri

NomeTipoDescrizione
xmlStringIl codice XML da analizzare.

Indietro

Document: il documento appena creato.