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