Class XmlService

XmlService

Mit diesem Dienst können Scripts XML-Dokumente parsen, durchsuchen und programmatisch erstellen.

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

Attribute

AttributTypBeschreibung
ContentTypesContentTypeEine Aufzählung, die die Typen von XML-Inhaltsknoten darstellt.

Methoden

MethodeRückgabetypKurzbeschreibung
createCdata(text)CdataErstellt einen losgelösten CDATASection-Knoten mit dem angegebenen Wert.
createComment(text)CommentErstellt einen losgelösten Comment-Knoten mit dem angegebenen Wert.
createDocType(elementName)DocTypeErstellt einen losgelösten DocumentType-Knoten für den Stammknoten Element mit dem angegebenen Namen.
createDocType(elementName, systemId)DocTypeErstellt einen losgelösten DocumentType-Knoten für den Stammknoten Element mit dem angegebenen Namen und der angegebenen System-ID für die externen Teilmengendaten.
createDocType(elementName, publicId, systemId)DocTypeErstellt einen losgelösten DocumentType-Knoten für den Stammknoten Element mit dem angegebenen Namen sowie der angegebenen öffentlichen ID und System-ID für die externen Teilmengendaten.
createDocument()DocumentErstellt ein leeres XML-Dokument.
createDocument(rootElement)DocumentErstellt ein XML-Dokument mit dem angegebenen Stammknoten Element.
createElement(name)ElementErstellt einen losgelösten Element-Knoten mit dem angegebenen lokalen Namen und ohne Namespace.
createElement(name, namespace)ElementErstellt einen losgelösten Element-Knoten mit dem angegebenen lokalen Namen und Namespace.
createText(text)TextErstellt einen losgelösten Text-Knoten mit dem angegebenen Wert.
getCompactFormat()FormatErstellt ein Format-Objekt für die Ausgabe eines kompakten XML-Dokuments.
getNamespace(uri)NamespaceErstellt eine Namespace mit dem angegebenen URI.
getNamespace(prefix, uri)NamespaceErstellt eine Namespace mit dem angegebenen Präfix und URI.
getNoNamespace()NamespaceErstellt einen Namespace, der das Fehlen eines echten Namespace darstellt.
getPrettyFormat()FormatErstellt ein Format-Objekt für die Ausgabe eines visuell lesbaren XML-Dokuments.
getRawFormat()FormatErstellt ein Format-Objekt für die Ausgabe eines Roh-XML-Dokuments.
getXmlNamespace()NamespaceErstellt eine Namespace mit dem Standardpräfix xml.
parse(xml)DocumentErstellt eine Document aus der angegebenen XML-Datei, ohne die XML-Datei zu validieren.

Detaillierte Dokumentation

createCdata(text)

Erstellt einen losgelösten CDATASection-Knoten mit dem angegebenen Wert.

Parameter

NameTypBeschreibung
textStringDer festzulegende Wert

Rückflug

Cdata – der neu erstellte CDATASection-Knoten


createComment(text)

Erstellt einen losgelösten Comment-Knoten mit dem angegebenen Wert.

Parameter

NameTypBeschreibung
textStringDer festzulegende Wert

Rückflug

Comment – der neu erstellte Comment-Knoten


createDocType(elementName)

Erstellt einen losgelösten DocumentType-Knoten für den Stammknoten Element mit dem angegebenen Namen.

Parameter

NameTypBeschreibung
elementNameStringDer Name des Stammknotens Element, der in der DocType-Deklaration angegeben werden soll

Rückflug

DocType – der neu erstellte DocumentType-Knoten


createDocType(elementName, systemId)

Erstellt einen losgelösten DocumentType-Knoten für den Stammknoten Element mit dem angegebenen Namen und der angegebenen System-ID für die externen Teilmengendaten.

Parameter

NameTypBeschreibung
elementNameStringDer Name des Stammknotens Element, der in der DocType-Deklaration angegeben werden soll
systemIdStringdie System-ID der externen Teilmenge, die festgelegt werden soll

Rückflug

DocType – der neu erstellte DocumentType-Knoten


createDocType(elementName, publicId, systemId)

Erstellt einen losgelösten DocumentType-Knoten für den Stammknoten Element mit dem angegebenen Namen sowie der angegebenen öffentlichen ID und System-ID für die externen Teilmengendaten.

Parameter

NameTypBeschreibung
elementNameStringDer Name des Stammknotens Element, der in der DocType-Deklaration angegeben werden soll
publicIdStringdie öffentliche ID der externen Teilmenge, die festgelegt werden soll
systemIdStringdie System-ID der externen Teilmenge, die festgelegt werden soll

Rückflug

DocType – der neu erstellte DocumentType-Knoten


createDocument()

Erstellt ein leeres XML-Dokument.

Rückflug

Document – das neu erstellte Dokument


createDocument(rootElement)

Erstellt ein XML-Dokument mit dem angegebenen Stammknoten Element.

Parameter

NameTypBeschreibung
rootElementElementder zu setzende Stammknoten Element

Rückflug

Document – das neu erstellte Dokument


createElement(name)

Erstellt einen losgelösten Element-Knoten mit dem angegebenen lokalen Namen und ohne Namespace.

Parameter

NameTypBeschreibung
nameStringDer zu festlegende lokale Name

Rückflug

Element – der neu erstellte Element-Knoten


createElement(name, namespace)

Erstellt einen losgelösten Element-Knoten mit dem angegebenen lokalen Namen und Namespace.

Parameter

NameTypBeschreibung
nameStringDer zu festlegende lokale Name
namespaceNamespaceden zu setzenden Namespace

Rückflug

Element – der neu erstellte Element-Knoten


createText(text)

Erstellt einen losgelösten Text-Knoten mit dem angegebenen Wert.

Parameter

NameTypBeschreibung
textStringDer festzulegende Wert

Rückflug

Text – der neu erstellte Text-Knoten


getCompactFormat()

Erstellt ein Format-Objekt für die Ausgabe eines kompakten XML-Dokuments. Der Formatierer verwendet standardmäßig die UTF-8-Codierung, keine Einzüge und keine zusätzlichen Zeilenschaltungen, enthält aber die XML-Deklaration und ihre Codierung.

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

Rückflug

Format – der neu erstellte Formatierer


getNamespace(uri)

Erstellt eine Namespace mit dem angegebenen URI.

Parameter

NameTypBeschreibung
uriStringden URI für den Namespace

Rückflug

Namespace – der neu erstellte Namespace


getNamespace(prefix, uri)

Erstellt eine Namespace mit dem angegebenen Präfix und URI.

Parameter

NameTypBeschreibung
prefixStringdas Präfix für den Namespace
uriStringden URI für den Namespace

Rückflug

Namespace – der neu erstellte Namespace


getNoNamespace()

Erstellt einen Namespace, der das Fehlen eines echten Namespace darstellt.

Rückflug

Namespace – der neu erstellte Namespace


getPrettyFormat()

Erstellt ein Format-Objekt für die Ausgabe eines visuell lesbaren XML-Dokuments. Der Formatierer verwendet standardmäßig die UTF-8-Codierung, eine Einzug von zwei Leerzeichen, \r\n-Zeilentrennzeichen nach jedem Knoten und enthält die XML-Deklaration und ihre Codierung.

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

Rückflug

Format – der neu erstellte Formatierer


getRawFormat()

Erstellt ein Format-Objekt für die Ausgabe eines Roh-XML-Dokuments. Der Formatierer verwendet standardmäßig die UTF-8-Codierung, keine Einzüge und keine anderen Zeilenenden als die im XML-Dokument selbst angegebenen. Außerdem enthält er die XML-Deklaration und ihre Codierung.

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

Rückflug

Format – der neu erstellte Formatierer


getXmlNamespace()

Erstellt eine Namespace mit dem Standardpräfix xml.

Rückflug

Namespace – der neu erstellte Namespace


parse(xml)

Erstellt eine Document aus der angegebenen XML-Datei, ohne die XML-Datei zu validieren.

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

Parameter

NameTypBeschreibung
xmlStringdie zu parsende XML-Datei

Rückflug

Document – das neu erstellte Dokument