Class XmlService

XmlService

Mit diesem Dienst können Skripts XML-Dokumente parsen, aufrufen und programmatisch erstellen.

// Log the title and labels for the first page of blog posts on the
// Google Workspace Developer blog.
function parseXml() {
  var url = 'https://gsuite-developers.googleblog.com/atom.xml';
  var xml = UrlFetchApp.fetch(url).getContentText();
  var document = XmlService.parse(xml);
  var root = document.getRootElement();
  var atom = XmlService.getNamespace('http://www.w3.org/2005/Atom');

  var entries = root.getChildren('entry', atom);
  for (var i = 0; i < entries.length; i++) {
    var title = entries[i].getChild('title', atom).getText();
    var categoryElements = entries[i].getChildren('category', atom);
    var labels = [];
    for (var 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() {
  var root = XmlService.createElement('threads');
  var threads = GmailApp.getInboxThreads();
  for (var i = 0; i < threads.length; i++) {
    var child = XmlService.createElement('thread')
        .setAttribute('messageCount', threads[i].getMessageCount())
        .setAttribute('isUnread', threads[i].isUnread())
        .setText(threads[i].getFirstMessageSubject());
    root.addContent(child);
  }
  var document = XmlService.createDocument(root);
  var xml = XmlService.getPrettyFormat().format(document);
  Logger.log(xml);
}

Attribute

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

Methoden

MethodeRückgabetypKurzbeschreibung
createCdata(text)CdataErstellt einen nicht angehängten CDATASection-Knoten mit dem angegebenen Wert.
createComment(text)CommentErstellt einen nicht angehängten Comment-Knoten mit dem angegebenen Wert.
createDocType(elementName)DocTypeErstellt einen nicht angehängten DocumentType-Knoten für den Stammknoten Element mit dem angegebenen Namen.
createDocType(elementName, systemId)DocTypeErstellt einen nicht angehängten 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 nicht angehängten DocumentType-Knoten für den Stammknoten Element mit dem angegebenen Namen und 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 Element-Stammknoten.
createElement(name)ElementErstellt einen nicht angehängten Element-Knoten mit dem angegebenen lokalen Namen und ohne Namespace.
createElement(name, namespace)ElementErstellt einen nicht angehängten Element-Knoten mit dem angegebenen lokalen Namen und Namespace.
createText(text)TextErstellt einen nicht angehängten 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 einen Namespace mit dem angegebenen Präfix und URI.
getNoNamespace()NamespaceErstellt einen Namespace, der das Fehlen eines echten Namespace darstellt.
getPrettyFormat()FormatErstellt ein Format-Objekt zur Ausgabe eines für Menschen lesbaren XML-Dokuments.
getRawFormat()FormatErstellt ein Format-Objekt für die Ausgabe eines XML-Rohdokuments.
getXmlNamespace()NamespaceErstellt ein Namespace mit dem Standardpräfix xml.
parse(xml)DocumentErstellt ein Document aus dem angegebenen XML-Code, ohne die XML zu validieren.

Detaillierte Dokumentation

createCdata(text)

Erstellt einen nicht angehängten CDATASection-Knoten mit dem angegebenen Wert.

Parameter

NameTypBeschreibung
textStringden festzulegenden Wert

Return

Cdata: der neu erstellte Knoten CDATASection


createComment(text)

Erstellt einen nicht angehängten Comment-Knoten mit dem angegebenen Wert.

Parameter

NameTypBeschreibung
textStringden festzulegenden Wert

Return

Comment: der neu erstellte Knoten Comment


createDocType(elementName)

Erstellt einen nicht angehängten DocumentType-Knoten für den Stammknoten Element mit dem angegebenen Namen.

Parameter

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

Return

DocType: der neu erstellte Knoten DocumentType


createDocType(elementName, systemId)

Erstellt einen nicht angehängten 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 Element-Stammknotens, der in der DocType-Deklaration angegeben wird
systemIdStringSystem-ID der festzulegenden externen Teilmengendaten

Return

DocType: der neu erstellte Knoten DocumentType


createDocType(elementName, publicId, systemId)

Erstellt einen nicht angehängten DocumentType-Knoten für den Stammknoten Element mit dem angegebenen Namen und der angegebenen öffentlichen ID und System-ID für die externen Teilmengendaten.

Parameter

NameTypBeschreibung
elementNameStringDer Name des Element-Stammknotens, der in der DocType-Deklaration angegeben wird
publicIdStringDie öffentliche ID der festzulegenden externen Teilmengendaten
systemIdStringSystem-ID der festzulegenden externen Teilmengendaten

Return

DocType: der neu erstellte Knoten DocumentType


createDocument()

Erstellt ein leeres XML-Dokument.

Return

Document: das neu erstellte Dokument


createDocument(rootElement)

Erstellt ein XML-Dokument mit dem angegebenen Element-Stammknoten.

Parameter

NameTypBeschreibung
rootElementElementden festzulegenden Element-Stammknoten

Return

Document: das neu erstellte Dokument


createElement(name)

Erstellt einen nicht angehängten Element-Knoten mit dem angegebenen lokalen Namen und ohne Namespace.

Parameter

NameTypBeschreibung
nameStringden festzulegenden lokalen Namen

Return

Element: der neu erstellte Knoten Element


createElement(name, namespace)

Erstellt einen nicht angehängten Element-Knoten mit dem angegebenen lokalen Namen und Namespace.

Parameter

NameTypBeschreibung
nameStringden festzulegenden lokalen Namen
namespaceNamespaceNamespace, der festgelegt werden soll

Return

Element: der neu erstellte Knoten Element


createText(text)

Erstellt einen nicht angehängten Text-Knoten mit dem angegebenen Wert.

Parameter

NameTypBeschreibung
textStringden festzulegenden Wert

Return

Text: der neu erstellte Knoten Text


getCompactFormat()

Erstellt ein Format-Objekt für die Ausgabe eines kompakten XML-Dokuments. Der Formatierer verwendet standardmäßig die UTF-8-Codierung, keinen Einzug und keine zusätzlichen Zeilenumbrüche, enthält aber die XML-Deklaration und deren Codierung.

// Log an XML document in compact form.
var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
var document = XmlService.parse(xml);
var output = XmlService.getCompactFormat()
    .format(document);
Logger.log(output);

Return

Format – der neu erstellte Formatierer


getNamespace(uri)

Erstellt eine Namespace mit dem angegebenen URI.

Parameter

NameTypBeschreibung
uriStringURI für den Namespace

Return

Namespace – der neu erstellte Namespace


getNamespace(prefix, uri)

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

Parameter

NameTypBeschreibung
prefixStringDas Präfix für den Namespace
uriStringURI für den Namespace

Return

Namespace – der neu erstellte Namespace


getNoNamespace()

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

Return

Namespace – der neu erstellte Namespace


getPrettyFormat()

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

// Log an XML document in human-readable form.
var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
var document = XmlService.parse(xml);
var output = XmlService.getPrettyFormat()
    .format(document);
Logger.log(output);

Return

Format – der neu erstellte Formatierer


getRawFormat()

Erstellt ein Format-Objekt für die Ausgabe eines XML-Rohdokuments. Der Formatierer verwendet standardmäßig die UTF-8-Codierung, keinen Einzug und keine Zeilenumbrüche außer den im XML-Dokument selbst angegebenen Zeilen und enthält die XML-Deklaration und deren Codierung.

// Log an XML document in raw form.
var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
var document = XmlService.parse(xml);
var output = XmlService.getRawFormat()
    .format(document);
Logger.log(output);

Return

Format – der neu erstellte Formatierer


getXmlNamespace()

Erstellt ein Namespace mit dem Standardpräfix xml.

Return

Namespace – der neu erstellte Namespace


parse(xml)

Erstellt ein Document aus dem angegebenen XML-Code, ohne die XML zu validieren.

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

Parameter

NameTypBeschreibung
xmlStringdie zu parsende XML

Return

Document: das neu erstellte Dokument