Class XmlService

XmlService

Questo servizio consente agli script di analizzare, navigare 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() {
  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 Element principale con il nome specificato.
createDocType(elementName, systemId)DocTypeCrea un nodo DocumentType non collegato per il nodo Element principale con il nome e l'ID sistema specificati per i dati del sottoinsieme esterno.
createDocType(elementName, publicId, systemId)DocTypeCrea un nodo DocumentType non collegato per il nodo Element principale 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 l'output di 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 xml standard.
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

Invio

Cdata: il nodo CDATASection appena creato


createComment(text)

Crea un nodo Comment non collegato con il valore specificato.

Parametri

NomeTipoDescrizione
textStringil valore da impostare

Invio

Comment: il nodo Comment appena creato


createDocType(elementName)

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

Parametri

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

Invio

DocType: il nodo DocumentType appena creato


createDocType(elementName, systemId)

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

Parametri

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

Invio

DocType: il nodo DocumentType appena creato


createDocType(elementName, publicId, systemId)

Crea un nodo DocumentType non collegato per il nodo Element principale 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 Element principale 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

Invio

DocType: il nodo DocumentType appena creato


createDocument()

Crea un documento XML vuoto.

Invio

Document: il documento appena creato


createDocument(rootElement)

Crea un documento XML con il nodo Element principale specificato.

Parametri

NomeTipoDescrizione
rootElementElementil nodo Element principale da impostare

Invio

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

Invio

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

Invio

Element: il nodo Element appena creato


createText(text)

Crea un nodo Text non collegato con il valore specificato.

Parametri

NomeTipoDescrizione
textStringil valore da impostare

Invio

Text: il nodo Text appena creato


getCompactFormat()

Crea un oggetto Format per l'output di un documento XML compatto. Il formato predefinito è la codifica UTF-8, senza rientri 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);

Invio

Format: il formattatore appena creato


getNamespace(uri)

Crea un Namespace con l'URI specificato.

Parametri

NomeTipoDescrizione
uriStringL'URI dello spazio dei nomi

Invio

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

Invio

Namespace: lo spazio dei nomi appena creato


getNoNamespace()

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

Invio

Namespace: lo spazio dei nomi appena creato


getPrettyFormat()

Crea un oggetto Format per l'output di un documento XML leggibile. Il formato predefinito è la codifica UTF-8, l'indentazione 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);

Invio

Format: il formattatore appena creato


getRawFormat()

Crea un oggetto Format per l'output di un documento XML non elaborato. Per impostazione predefinita, il formatore utilizza la codifica UTF-8, senza rientrature e senza interruzioni di riga diverse 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);

Invio

Format: il formattatore appena creato


getXmlNamespace()

Crea un Namespace con il prefisso xml standard.

Invio

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

Invio

Document: il documento appena creato