XML Service

Servizio XML

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
// Google's The Keyword blog.
function parseXml() {
  let url = 'https://blog.google/rss/';
  let xml = UrlFetchApp.fetch(url).getContentText();
  let document = XmlService.parse(xml);
  let root = document.getRootElement();

  let channel = root.getChild('channel');
  let items = channel.getChildren('item');
  items.forEach(item => {
    let title = item.getChild('title').getText();
    let categories = item.getChildren('category');
    let labels = categories.map(category => category.getText());
    console.log('%s (%s)', title, labels.join(', '));
  });
}

// Create and log an XML representation of first 10 threads in your Gmail inbox.
function createXml() {
  let root = XmlService.createElement('threads');
  let threads = GmailApp.getInboxThreads()
  threads = threads.slice(0,10); // Just the first 10
  threads.forEach(thread => {
    let child = XmlService.createElement('thread')
        .setAttribute('messageCount', thread.getMessageCount())
        .setAttribute('isUnread', thread.isUnread())
        .setText(thread.getFirstMessageSubject());
    root.addContent(child);
  });
  let document = XmlService.createDocument(root);
  let xml = XmlService.getPrettyFormat().format(document);
  console.log(xml);
}

Corsi

NomeBreve descrizione
AttributeUna rappresentazione di un attributo XML.
CdataUna rappresentazione di un nodo XML CDATASection.
CommentUna rappresentazione di un nodo Comment XML.
ContentUna rappresentazione di un nodo XML generico.
ContentTypeUn'enumerazione che rappresenta i tipi di nodi di contenuti XML.
DocTypeUna rappresentazione di un nodo XML DocumentType.
DocumentUna rappresentazione di un documento XML.
ElementUna rappresentazione di un nodo Element XML.
EntityRefUna rappresentazione di un nodo XML EntityReference.
FormatUn formattatore per l'output di un documento XML, con tre formati predefiniti che possono essere ulteriormente personalizzati.
NamespaceUna rappresentazione di uno spazio dei nomi XML.
ProcessingInstructionUna rappresentazione di un nodo ProcessingInstruction XML.
TextUna rappresentazione di un nodo XML Text.
XmlServiceQuesto servizio consente agli script di analizzare, navigare e creare programmaticamente documenti XML.

Attribute

Metodi

MetodoTipo restituitoBreve descrizione
getName()StringRecupera il nome locale dell'attributo.
getNamespace()Namespace|nullRecupera lo spazio dei nomi per l'attributo.
getValue()StringRecupera il valore dell'attributo.
setName(name)AttributeImposta il nome locale dell'attributo.
setNamespace(namespace)AttributeImposta lo spazio dei nomi per l'attributo.
setValue(value)AttributeImposta il valore dell'attributo.

Cdata

Metodi

MetodoTipo restituitoBreve descrizione
append(text)TextAggiunge il testo specificato a qualsiasi contenuto già presente nel nodo.
detach()Content|nullScollega il nodo dal nodo padre Element.
getParentElement()Element|nullRestituisce il nodo principale Element del nodo.
getText()StringRecupera il valore di testo del nodo Text.
getValue()StringRecupera il valore di testo di tutti i nodi secondari diretti o indiretti del nodo, nell'ordine in cui appaiono nel documento.
setText(text)TextImposta il valore di testo del nodo Text.

Comment

Metodi

MetodoTipo restituitoBreve descrizione
detach()Content|nullScollega il nodo dal nodo padre Element.
getParentElement()Element|nullRestituisce il nodo principale Element del nodo.
getText()StringRecupera il valore di testo del nodo Comment.
getValue()StringRecupera il valore di testo di tutti i nodi secondari diretti o indiretti del nodo, nell'ordine in cui appaiono nel documento.
setText(text)CommentImposta il valore di testo del nodo Comment.

Content

Metodi

MetodoTipo restituitoBreve descrizione
asCdata()Cdata|nullEsegue il cast del nodo come nodo CDATASection ai fini del completamento automatico.
asComment()Comment|nullEsegue il cast del nodo come nodo Comment ai fini del completamento automatico.
asDocType()DocType|nullEsegue il cast del nodo come nodo DocumentType ai fini del completamento automatico.
asElement()Element|nullEsegue il cast del nodo come nodo Element ai fini del completamento automatico.
asEntityRef()EntityRef|nullEsegue il cast del nodo come nodo EntityReference ai fini del completamento automatico.
asProcessingInstruction()ProcessingInstruction|nullEsegue il cast del nodo come nodo ProcessingInstruction ai fini del completamento automatico.
asText()Text|nullEsegue il cast del nodo come nodo Text ai fini del completamento automatico.
detach()Content|nullScollega il nodo dal nodo padre Element.
getParentElement()Element|nullRestituisce il nodo principale Element del nodo.
getType()ContentTypeRecupera il tipo di contenuti del nodo.
getValue()StringRecupera il valore di testo di tutti i nodi secondari diretti o indiretti del nodo, nell'ordine in cui appaiono nel documento.

ContentType

Proprietà

ProprietàTipoDescrizione
CDATAEnumUn nodo XML CDATASection.
COMMENTEnumUn nodo XML Comment.
DOCTYPEEnumUn nodo XML DocumentType.
ELEMENTEnumUn nodo XML Element.
ENTITYREFEnumUn nodo XML EntityReference.
PROCESSINGINSTRUCTIONEnumUn nodo XML ProcessingInstruction.
TEXTEnumUn nodo XML Text.

DocType

Metodi

MetodoTipo restituitoBreve descrizione
detach()Content|nullScollega il nodo dal nodo padre Element.
getElementName()StringRecupera il nome del nodo radice Element specificato nella dichiarazione DocType.
getInternalSubset()StringRecupera i dati del sottoinsieme interno per il nodo DocumentType.
getParentElement()Element|nullRestituisce il nodo principale Element del nodo.
getPublicId()StringRecupera l'ID pubblico dei dati del sottoinsieme esterno per il nodo DocumentType.
getSystemId()StringRecupera l'ID sistema dei dati del sottoinsieme esterno per il nodo DocumentType.
getValue()StringRecupera il valore di testo di tutti i nodi secondari diretti o indiretti del nodo, nell'ordine in cui appaiono nel documento.
setElementName(name)DocTypeImposta il nome del nodo Element radice da specificare nella dichiarazione DocType.
setInternalSubset(data)DocTypeImposta i dati del sottoinsieme interno per il nodo DocumentType.
setPublicId(id)DocTypeImposta l'ID pubblico dei dati del sottoinsieme esterno per il nodo DocumentType.
setSystemId(id)DocTypeImposta l'ID sistema dei dati del sottoinsieme esterno per il nodo DocumentType.

Document

Metodi

MetodoTipo restituitoBreve descrizione
addContent(content)DocumentAggiunge il nodo specificato alla fine del documento.
addContent(index, content)DocumentInserisce il nodo specificato all'indice specificato tra tutti i nodi che sono figli immediati del documento.
cloneContent()Content[]Crea copie scollegate di tutti i nodi che sono figli immediati del documento.
detachRootElement()Element|nullScollega e restituisce il nodo Element principale del documento.
getAllContent()Content[]Recupera tutti i nodi che sono elementi secondari diretti del documento.
getContent(index)Content|nullRecupera il nodo all'indice specificato tra tutti i nodi che sono figli immediati del documento.
getContentSize()IntegerRestituisce il numero di nodi secondari immediati del documento.
getDescendants()Content[]Recupera tutti i nodi secondari diretti o indiretti del documento, nell'ordine in cui vengono visualizzati nel documento.
getDocType()DocType|nullRecupera la dichiarazione DocType del documento.
getRootElement()Element|nullRecupera il nodo Element radice del documento.
hasRootElement()BooleanDetermina se il documento ha un nodo radice Element.
removeContent()Content[]Rimuove tutti i nodi che sono figli immediati del documento.
removeContent(content)BooleanRimuove il nodo specificato, se è un elemento secondario immediato del documento.
removeContent(index)Content|nullRimuove il nodo all'indice specificato tra tutti i nodi che sono figli immediati del documento.
setDocType(docType)DocumentImposta la dichiarazione DocType del documento.
setRootElement(element)DocumentImposta il nodo radice Element del documento.

Element

Metodi

MetodoTipo restituitoBreve descrizione
addContent(content)ElementAggiunge il nodo specificato come ultimo nodo secondario del nodo Element.
addContent(index, content)ElementInserisce il nodo specificato all'indice specificato tra tutti i nodi che sono figli immediati del nodo Element.
cloneContent()Content[]Crea copie non collegate di tutti i nodi che sono elementi secondari immediati del nodo {@code Element}.
detach()Content|nullScollega il nodo dal nodo padre Element.
getAllContent()Content[]Recupera tutti i nodi che sono elementi secondari immediati del nodo {@code Element}.
getAttribute(name)Attribute|nullRecupera l'attributo per questo nodo Element con il nome specificato e senza spazio dei nomi.
getAttribute(name, namespace)Attribute|nullRecupera l'attributo per questo nodo Element con il nome e lo spazio dei nomi specificati.
getAttributes()Attribute[]Recupera tutti gli attributi per questo nodo Element, nell'ordine in cui appaiono nel documento.
getChild(name)Element|nullRecupera il primo nodo Element con il nome specificato e senza spazio dei nomi che sia un elemento secondario immediato di questo nodo Element.
getChild(name, namespace)Element|nullRecupera il primo nodo Element con il nome e lo spazio dei nomi specificati che è un elemento secondario immediato di questo nodo Element.
getChildText(name)String|nullRecupera il valore di testo del nodo con il nome specificato e senza spazio dei nomi, se il nodo è un elemento secondario immediato del nodo Element.
getChildText(name, namespace)String|nullRecupera il valore di testo del nodo con il nome e lo spazio dei nomi specificati, se il nodo è un figlio immediato del nodo Element.
getChildren()Element[]Recupera tutti i nodi Element che sono figli immediati di questo nodo Element, nell'ordine in cui appaiono nel documento.
getChildren(name)Element[]Recupera tutti i nodi Element con il nome specificato e senza spazio dei nomi che sono figli immediati di questo nodo Element, nell'ordine in cui appaiono nel documento.
getChildren(name, namespace)Element[]Recupera tutti i nodi Element con il nome e lo spazio dei nomi specificati che sono figli immediati di questo nodo Element, nell'ordine in cui appaiono nel documento.
getContent(index)Content|nullRecupera il nodo all'indice specificato tra tutti i nodi che sono figli immediati del nodo {@code Element}.
getContentSize()IntegerRestituisce il numero di nodi che sono elementi secondari immediati del nodo {@code Element}.
getDescendants()Content[]Recupera tutti i nodi che sono elementi secondari diretti o indiretti del nodo {@code Element}, nell'ordine in cui vengono visualizzati nel documento.
getDocument()DocumentRecupera il documento XML che contiene il nodo {@code Element}.
getName()StringRestituisce il nome locale del nodo Element.
getNamespace()NamespaceRecupera lo spazio dei nomi per il nodo Element.
getNamespace(prefix)NamespaceRecupera lo spazio dei nomi con il prefisso specificato per il nodo Element.
getParentElement()Element|nullRestituisce il nodo principale Element del nodo.
getQualifiedName()StringRecupera il nome locale e il prefisso dello spazio dei nomi del nodo Element, nel formato [namespacePrefix]:[localName].
getText()StringRecupera il valore di testo del nodo Element.
getValue()StringRecupera il valore di testo di tutti i nodi secondari diretti o indiretti del nodo, nell'ordine in cui appaiono nel documento.
isAncestorOf(other)BooleanDetermina se questo nodo Element è un elemento padre diretto o indiretto di un determinato nodo Element.
isRootElement()BooleanDetermina se il nodo Element è il nodo radice del documento.
removeAttribute(attribute)BooleanRimuove l'attributo specificato per questo nodo Element, se esiste.
removeAttribute(attributeName)BooleanRimuove l'attributo per questo nodo Element con il nome specificato e senza spazio dei nomi, se esiste un attributo di questo tipo.
removeAttribute(attributeName, namespace)BooleanRimuove l'attributo per questo nodo Element con il nome e lo spazio dei nomi specificati, se esiste un attributo di questo tipo.
removeContent()Content[]Rimuove tutti i nodi che sono figli immediati del nodo {@code Element}.
removeContent(content)BooleanRimuove il nodo specificato, se è un elemento secondario immediato del nodo {@code Element}.
removeContent(index)Content|nullRimuove il nodo all'indice specificato tra tutti i nodi che sono figli immediati del nodo {@code Element}.
setAttribute(attribute)ElementImposta l'attributo specificato per questo nodo Element.
setAttribute(name, value)ElementImposta l'attributo per questo nodo Element con il nome e il valore specificati e senza spazio dei nomi.
setAttribute(name, value, namespace)ElementImposta l'attributo per questo nodo Element con il nome, il valore e lo spazio dei nomi specificati.
setName(name)ElementImposta il nome locale del nodo Element.
setNamespace(namespace)ElementImposta lo spazio dei nomi per il nodo Element.
setText(text)ElementImposta il valore di testo del nodo Element.

EntityRef

Metodi

MetodoTipo restituitoBreve descrizione
detach()Content|nullScollega il nodo dal nodo padre Element.
getName()StringRestituisce il nome del nodo EntityReference.
getParentElement()Element|nullRestituisce il nodo principale Element del nodo.
getPublicId()String|nullRecupera l'ID pubblico del nodo EntityReference.
getSystemId()String|nullRecupera l'ID sistema del nodo EntityReference.
getValue()StringRecupera il valore di testo di tutti i nodi secondari diretti o indiretti del nodo, nell'ordine in cui appaiono nel documento.
setName(name)EntityRefImposta il nome del nodo EntityReference.
setPublicId(id)EntityRefImposta l'ID pubblico del nodo EntityReference.
setSystemId(id)EntityRefImposta l'ID sistema del nodo EntityReference.

Format

Metodi

MetodoTipo restituitoBreve descrizione
format(document)StringRestituisce il valore Document specificato come stringa formattata.
format(element)StringRestituisce il nodo Element specificato come stringa formattata.
setEncoding(encoding)FormatImposta la codifica dei caratteri che deve essere utilizzata dal formattatore.
setIndent(indent)FormatImposta la stringa utilizzata per rientrare i nodi secondari rispetto ai relativi genitori.
setLineSeparator(separator)FormatImposta la stringa da inserire ogni volta che il formattatore inserisce un'interruzione di riga.
setOmitDeclaration(omitDeclaration)FormatSpecifica se il formattatore deve omettere la dichiarazione XML, ad esempio <?xml version="1.0" encoding="UTF-8"?>.
setOmitEncoding(omitEncoding)FormatSpecifica se il formattatore deve omettere la codifica nella dichiarazione XML, ad esempio il campo encoding in <?xml version="1.0" encoding="UTF-8"?>.

Namespace

Metodi

MetodoTipo restituitoBreve descrizione
getPrefix()StringRecupera il prefisso per lo spazio dei nomi.
getURI()StringRecupera l'URI per lo spazio dei nomi.

ProcessingInstruction

Metodi

MetodoTipo restituitoBreve descrizione
detach()Content|nullScollega il nodo dal nodo padre Element.
getData()StringRecupera i dati non elaborati per ogni istruzione nel nodo ProcessingInstruction.
getParentElement()Element|nullRestituisce il nodo principale Element del nodo.
getTarget()StringOttiene la destinazione per il nodo ProcessingInstruction.
getValue()StringRecupera il valore di testo di tutti i nodi secondari diretti o indiretti del nodo, nell'ordine in cui appaiono nel documento.

Text

Metodi

MetodoTipo restituitoBreve descrizione
append(text)TextAggiunge il testo specificato a qualsiasi contenuto già presente nel nodo.
detach()Content|nullScollega il nodo dal nodo padre Element.
getParentElement()Element|nullRestituisce il nodo principale Element del nodo.
getText()StringRecupera il valore di testo del nodo Text.
getValue()StringRecupera il valore di testo di tutti i nodi secondari diretti o indiretti del nodo, nell'ordine in cui appaiono nel documento.
setText(text)TextImposta il valore di testo del nodo Text.

XmlService

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.