XML Service

XML-Dienst

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

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

Klassen

NameKurzbeschreibung
AttributeEine Darstellung eines XML-Attributs.
CdataEine Darstellung eines XML-CDATASection-Knotens.
CommentEine Darstellung eines XML-Comment-Knotens.
ContentEine Darstellung eines generischen XML-Knotens.
ContentTypeEine Aufzählung, die die Typen von XML-Inhaltsknoten darstellt.
DocTypeEine Darstellung eines XML-DocumentType-Knotens.
DocumentEine Darstellung eines XML-Dokuments.
ElementEine Darstellung eines XML-Element-Knotens.
EntityRefEine Darstellung eines XML-EntityReference-Knotens.
FormatEin Formatierungstool für die Ausgabe eines XML-Dokuments mit drei vordefinierten Formaten, die weiter angepasst werden können.
NamespaceEine Darstellung eines XML-Namespace.
ProcessingInstructionEine Darstellung eines XML-ProcessingInstruction-Knotens.
TextEine Darstellung eines XML-Text-Knotens.
XmlServiceMit diesem Dienst können Skripts XML-Dokumente parsen, darin navigieren und sie programmatisch erstellen.

Attribute

Methoden

MethodeRückgabetypKurzbeschreibung
getName()StringRuft den lokalen Namen des Attributs ab.
getNamespace()Namespace|nullRuft den Namespace für das Attribut ab.
getValue()StringRuft den Wert des Attributs ab.
setName(name)AttributeLegt den lokalen Namen des Attributs fest.
setNamespace(namespace)AttributeLegt den Namespace für das Attribut fest.
setValue(value)AttributeLegt den Wert des Attributs fest.

Cdata

Methoden

MethodeRückgabetypKurzbeschreibung
append(text)TextHängt den angegebenen Text an alle Inhalte an, die bereits im Knoten vorhanden sind.
detach()Content|nullTrennt den Knoten vom übergeordneten Knoten Element.
getParentElement()Element|nullRuft den übergeordneten Element-Knoten des Knotens ab.
getText()StringRuft den Textwert des Knotens Text ab.
getValue()StringRuft den Textwert aller Knoten ab, die direkte oder indirekte untergeordnete Elemente des Knotens sind, in der Reihenfolge, in der sie im Dokument angezeigt werden.
setText(text)TextLegt den Textwert des Knotens Text fest.

Comment

Methoden

MethodeRückgabetypKurzbeschreibung
detach()Content|nullTrennt den Knoten vom übergeordneten Knoten Element.
getParentElement()Element|nullRuft den übergeordneten Element-Knoten des Knotens ab.
getText()StringRuft den Textwert des Knotens Comment ab.
getValue()StringRuft den Textwert aller Knoten ab, die direkte oder indirekte untergeordnete Elemente des Knotens sind, in der Reihenfolge, in der sie im Dokument angezeigt werden.
setText(text)CommentLegt den Textwert des Knotens Comment fest.

Content

Methoden

MethodeRückgabetypKurzbeschreibung
asCdata()Cdata|nullWandelt den Knoten für die automatische Vervollständigung in einen CDATASection-Knoten um.
asComment()Comment|nullWandelt den Knoten für die automatische Vervollständigung in einen Comment-Knoten um.
asDocType()DocType|nullWandelt den Knoten für die automatische Vervollständigung in einen DocumentType-Knoten um.
asElement()Element|nullWeist dem Knoten für die automatische Vervollständigung den Typ Element zu.
asEntityRef()EntityRef|nullWandelt den Knoten für die automatische Vervollständigung in einen EntityReference-Knoten um.
asProcessingInstruction()ProcessingInstruction|nullWandelt den Knoten für die automatische Vervollständigung in einen ProcessingInstruction-Knoten um.
asText()Text|nullWandelt den Knoten für die automatische Vervollständigung in einen Text-Knoten um.
detach()Content|nullTrennt den Knoten vom übergeordneten Knoten Element.
getParentElement()Element|nullRuft den übergeordneten Element-Knoten des Knotens ab.
getType()ContentTypeRuft den Inhaltstyp des Knotens ab.
getValue()StringRuft den Textwert aller Knoten ab, die direkte oder indirekte untergeordnete Elemente des Knotens sind, in der Reihenfolge, in der sie im Dokument angezeigt werden.

ContentType

Attribute

AttributTypBeschreibung
CDATAEnumEin XML-Knoten vom Typ CDATASection.
COMMENTEnumEin XML-Knoten vom Typ Comment.
DOCTYPEEnumEin XML-Knoten vom Typ DocumentType.
ELEMENTEnumEin XML-Knoten vom Typ Element.
ENTITYREFEnumEin XML-Knoten vom Typ EntityReference.
PROCESSINGINSTRUCTIONEnumEin XML-Knoten vom Typ ProcessingInstruction.
TEXTEnumEin XML-Knoten vom Typ Text.

DocType

Methoden

MethodeRückgabetypKurzbeschreibung
detach()Content|nullTrennt den Knoten vom übergeordneten Knoten Element.
getElementName()StringRuft den Namen des in der DocType-Deklaration angegebenen Element-Stammknotens ab.
getInternalSubset()StringRuft die internen Teilmengendaten für den Knoten DocumentType ab.
getParentElement()Element|nullRuft den übergeordneten Element-Knoten des Knotens ab.
getPublicId()StringRuft die öffentliche ID der externen Teilmengendaten für den Knoten DocumentType ab.
getSystemId()StringRuft die System-ID der externen Teilmengendaten für den Knoten DocumentType ab.
getValue()StringRuft den Textwert aller Knoten ab, die direkte oder indirekte untergeordnete Elemente des Knotens sind, in der Reihenfolge, in der sie im Dokument angezeigt werden.
setElementName(name)DocTypeLegt den Namen des Element-Stammknotens fest, der in der DocType-Deklaration angegeben werden soll.
setInternalSubset(data)DocTypeLegt die internen Teilmengendaten für den Knoten DocumentType fest.
setPublicId(id)DocTypeLegt die öffentliche ID der externen Teilmengendaten für den Knoten DocumentType fest.
setSystemId(id)DocTypeLegt die System-ID der externen Teilmengendaten für den Knoten DocumentType fest.

Document

Methoden

MethodeRückgabetypKurzbeschreibung
addContent(content)DocumentFügt den angegebenen Knoten am Ende des Dokuments an.
addContent(index, content)DocumentFügt den angegebenen Knoten am angegebenen Index unter allen Knoten ein, die unmittelbare untergeordnete Elemente des Dokuments sind.
cloneContent()Content[]Erstellt nicht angehängte Kopien aller Knoten, die unmittelbare untergeordnete Elemente des Dokuments sind.
detachRootElement()Element|nullTrennt den Element-Knoten des Dokuments ab und gibt ihn zurück.
getAllContent()Content[]Ruft alle Knoten ab, die direkte untergeordnete Elemente des Dokuments sind.
getContent(index)Content|nullRuft den Knoten am angegebenen Index unter allen Knoten ab, die unmittelbare untergeordnete Elemente des Dokuments sind.
getContentSize()IntegerGibt die Anzahl der Knoten zurück, die unmittelbare untergeordnete Elemente des Dokuments sind.
getDescendants()Content[]Ruft alle Knoten ab, die direkte oder indirekte untergeordnete Elemente des Dokuments sind, in der Reihenfolge, in der sie im Dokument angezeigt werden.
getDocType()DocType|nullRuft die DocType-Deklaration des Dokuments ab.
getRootElement()Element|nullRuft den Element-Knoten des Stammdokuments ab.
hasRootElement()BooleanErmittelt, ob das Dokument einen Element-Stammknoten hat.
removeContent()Content[]Entfernt alle Knoten, die direkte untergeordnete Elemente des Dokuments sind.
removeContent(content)BooleanEntfernt den angegebenen Knoten, wenn er ein direkt untergeordnetes Element des Dokuments ist.
removeContent(index)Content|nullEntfernt den Knoten am angegebenen Index unter allen Knoten, die unmittelbare untergeordnete Elemente des Dokuments sind.
setDocType(docType)DocumentLegt die DocType-Deklaration des Dokuments fest.
setRootElement(element)DocumentLegt den Element-Stammknoten des Dokuments fest.

Element

Methoden

MethodeRückgabetypKurzbeschreibung
addContent(content)ElementFügt den angegebenen Knoten als letztes untergeordnetes Element des Element-Knotens an.
addContent(index, content)ElementFügt den angegebenen Knoten am angegebenen Index zwischen allen Knoten ein, die direkte untergeordnete Elemente des Element-Knotens sind.
cloneContent()Content[]Erstellt nicht angehängte Kopien aller Knoten, die unmittelbare untergeordnete Elemente des {@code Element}-Knotens sind.
detach()Content|nullTrennt den Knoten vom übergeordneten Knoten Element.
getAllContent()Content[]Ruft alle Knoten ab, die direkte untergeordnete Elemente des {@code Element}-Knotens sind.
getAttribute(name)Attribute|nullRuft das Attribut für diesen Element-Knoten mit dem angegebenen Namen und ohne Namespace ab.
getAttribute(name, namespace)Attribute|nullRuft das Attribut für diesen Element-Knoten mit dem angegebenen Namen und Namespace ab.
getAttributes()Attribute[]Ruft alle Attribute für diesen Element-Knoten in der Reihenfolge ab, in der sie im Dokument angezeigt werden.
getChild(name)Element|nullRuft den ersten Element-Knoten mit dem angegebenen Namen und ohne Namespace ab, der ein direktes untergeordnetes Element dieses Element-Knotens ist.
getChild(name, namespace)Element|nullRuft den ersten Element-Knoten mit dem angegebenen Namen und Namespace ab, der ein direktes untergeordnetes Element dieses Element-Knotens ist.
getChildText(name)String|nullRuft den Textwert des Knotens mit dem angegebenen Namen und ohne Namespace ab, wenn der Knoten ein direktes untergeordnetes Element des Knotens Element ist.
getChildText(name, namespace)String|nullRuft den Textwert des Knotens mit dem angegebenen Namen und Namespace ab, wenn der Knoten ein direktes untergeordnetes Element des Knotens Element ist.
getChildren()Element[]Ruft alle Element-Knoten ab, die unmittelbare untergeordnete Elemente dieses Element-Knotens sind, in der Reihenfolge, in der sie im Dokument angezeigt werden.
getChildren(name)Element[]Ruft alle Element-Knoten mit dem angegebenen Namen und ohne Namespace ab, die unmittelbare untergeordnete Elemente dieses Element-Knotens sind, in der Reihenfolge, in der sie im Dokument angezeigt werden.
getChildren(name, namespace)Element[]Ruft alle Element-Knoten mit dem angegebenen Namen und Namespace ab, die unmittelbare untergeordnete Elemente dieses Element-Knotens sind, in der Reihenfolge, in der sie im Dokument vorkommen.
getContent(index)Content|nullRuft den Knoten am angegebenen Index unter allen Knoten ab, die unmittelbare untergeordnete Elemente des {@code Element}-Knotens sind.
getContentSize()IntegerGibt die Anzahl der Knoten zurück, die direkte untergeordnete Elemente des {@code Element}-Knotens sind.
getDescendants()Content[]Ruft alle Knoten ab, die direkte oder indirekte untergeordnete Elemente des {@code Element}-Knotens sind, in der Reihenfolge, in der sie im Dokument angezeigt werden.
getDocument()DocumentGibt das XML-Dokument zurück, das den {@code Element}-Knoten enthält.
getName()StringRuft den lokalen Namen des Element-Knotens ab.
getNamespace()NamespaceRuft den Namespace für den Knoten Element ab.
getNamespace(prefix)NamespaceRuft den Namespace mit dem angegebenen Präfix für den Element-Knoten ab.
getParentElement()Element|nullRuft den übergeordneten Element-Knoten des Knotens ab.
getQualifiedName()StringRuft den lokalen Namen und das Namespace-Präfix des Element-Knotens im Format [namespacePrefix]:[localName] ab.
getText()StringRuft den Textwert des Knotens Element ab.
getValue()StringRuft den Textwert aller Knoten ab, die direkte oder indirekte untergeordnete Elemente des Knotens sind, in der Reihenfolge, in der sie im Dokument angezeigt werden.
isAncestorOf(other)BooleanGibt an, ob dieser Element-Knoten ein direktes oder indirektes übergeordnetes Element eines bestimmten Element-Knotens ist.
isRootElement()BooleanGibt an, ob der Knoten Element der Stammknoten des Dokuments ist.
removeAttribute(attribute)BooleanEntfernt das angegebene Attribut für diesen Element-Knoten, sofern ein solches Attribut vorhanden ist.
removeAttribute(attributeName)BooleanEntfernt das Attribut für diesen Element-Knoten mit dem angegebenen Namen und ohne Namespace, falls ein solches Attribut vorhanden ist.
removeAttribute(attributeName, namespace)BooleanEntfernt das Attribut für diesen Element-Knoten mit dem angegebenen Namen und Namespace, falls ein solches Attribut vorhanden ist.
removeContent()Content[]Entfernt alle Knoten, die direkte untergeordnete Elemente des {@code Element}-Knotens sind.
removeContent(content)BooleanEntfernt den angegebenen Knoten, wenn er ein direkt untergeordnetes Element des {@code Element}-Knotens ist.
removeContent(index)Content|nullEntfernt den Knoten am angegebenen Index unter allen Knoten, die unmittelbare untergeordnete Elemente des {@code Element}-Knotens sind.
setAttribute(attribute)ElementLegt das angegebene Attribut für diesen Element-Knoten fest.
setAttribute(name, value)ElementLegt das Attribut für diesen Element-Knoten mit dem angegebenen Namen und Wert und ohne Namespace fest.
setAttribute(name, value, namespace)ElementLegt das Attribut für diesen Element-Knoten mit dem angegebenen Namen, Wert und Namespace fest.
setName(name)ElementLegt den lokalen Namen des Element-Knotens fest.
setNamespace(namespace)ElementLegt den Namespace für den Knoten Element fest.
setText(text)ElementLegt den Textwert des Knotens Element fest.

EntityRef

Methoden

MethodeRückgabetypKurzbeschreibung
detach()Content|nullTrennt den Knoten vom übergeordneten Knoten Element.
getName()StringRuft den Namen des EntityReference-Knotens ab.
getParentElement()Element|nullRuft den übergeordneten Element-Knoten des Knotens ab.
getPublicId()String|nullRuft die öffentliche ID des EntityReference-Knotens ab.
getSystemId()String|nullRuft die System-ID des EntityReference-Knotens ab.
getValue()StringRuft den Textwert aller Knoten ab, die direkte oder indirekte untergeordnete Elemente des Knotens sind, in der Reihenfolge, in der sie im Dokument angezeigt werden.
setName(name)EntityRefLegt den Namen des EntityReference-Knotens fest.
setPublicId(id)EntityRefLegt die öffentliche ID des EntityReference-Knotens fest.
setSystemId(id)EntityRefLegt die System-ID des EntityReference-Knotens fest.

Format

Methoden

MethodeRückgabetypKurzbeschreibung
format(document)StringGibt die angegebene Document als formatierten String aus.
format(element)StringGibt den angegebenen Element-Knoten als formatierten String aus.
setEncoding(encoding)FormatLegt die Zeichencodierung fest, die vom Formatierungsprogramm verwendet werden soll.
setIndent(indent)FormatLegt den String fest, der zum Einrücken von untergeordneten Knoten relativ zu ihren übergeordneten Knoten verwendet wird.
setLineSeparator(separator)FormatLegt den String fest, der eingefügt werden soll, wenn der Formatierer normalerweise einen Zeilenumbruch einfügen würde.
setOmitDeclaration(omitDeclaration)FormatLegt fest, ob der Formatierer die XML-Deklaration wie <?xml version="1.0" encoding="UTF-8"?> weglassen soll.
setOmitEncoding(omitEncoding)FormatLegt fest, ob der Formatierer die Codierung in der XML-Deklaration weglassen soll, z. B. das Codierungsfeld in <?xml version="1.0" encoding="UTF-8"?>.

Namespace

Methoden

MethodeRückgabetypKurzbeschreibung
getPrefix()StringRuft das Präfix für den Namespace ab.
getURI()StringRuft den URI für den Namespace ab.

ProcessingInstruction

Methoden

MethodeRückgabetypKurzbeschreibung
detach()Content|nullTrennt den Knoten vom übergeordneten Knoten Element.
getData()StringRuft die Rohdaten für jede Anleitung im ProcessingInstruction-Knoten ab.
getParentElement()Element|nullRuft den übergeordneten Element-Knoten des Knotens ab.
getTarget()StringRuft das Ziel für den Knoten ProcessingInstruction ab.
getValue()StringRuft den Textwert aller Knoten ab, die direkte oder indirekte untergeordnete Elemente des Knotens sind, in der Reihenfolge, in der sie im Dokument angezeigt werden.

Text

Methoden

MethodeRückgabetypKurzbeschreibung
append(text)TextHängt den angegebenen Text an alle Inhalte an, die bereits im Knoten vorhanden sind.
detach()Content|nullTrennt den Knoten vom übergeordneten Knoten Element.
getParentElement()Element|nullRuft den übergeordneten Element-Knoten des Knotens ab.
getText()StringRuft den Textwert des Knotens Text ab.
getValue()StringRuft den Textwert aller Knoten ab, die direkte oder indirekte untergeordnete Elemente des Knotens sind, in der Reihenfolge, in der sie im Dokument angezeigt werden.
setText(text)TextLegt den Textwert des Knotens Text fest.

XmlService

Attribute

AttributTypBeschreibung
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 Root-Knoten Element mit dem angegebenen Namen.
createDocType(elementName, systemId)DocTypeErstellt einen nicht angehängten DocumentType-Knoten für den Root-Element-Knoten mit dem angegebenen Namen und der angegebenen System-ID für die externen Subset-Daten.
createDocType(elementName, publicId, systemId)DocTypeErstellt einen nicht angehängten DocumentType-Knoten für den Element-Root-Knoten mit dem angegebenen Namen sowie der angegebenen öffentlichen ID und System-ID für die externen Subset-Daten.
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 ein Namespace-Objekt mit dem angegebenen URI.
getNamespace(prefix, uri)NamespaceErstellt ein Namespace-Objekt mit dem angegebenen Präfix und URI.
getNoNamespace()NamespaceErstellt ein Namespace, das das Fehlen eines echten Namespace darstellt.
getPrettyFormat()FormatErstellt ein Format-Objekt zum Ausgeben eines für Menschen lesbaren XML-Dokuments.
getRawFormat()FormatErstellt ein Format-Objekt für die Ausgabe eines Roh-XML-Dokuments.
getXmlNamespace()NamespaceErstellt ein Namespace mit dem Standardpräfix xml.
parse(xml)DocumentErstellt ein Document-Objekt aus dem angegebenen XML-Code, ohne den XML-Code zu validieren.