XML Service

XML-Dienst

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

Kurse

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 Formatierer zur 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, aufrufen und programmatisch erstellen.

Attribute

Methoden

MethodeRückgabetypKurzbeschreibung
getName()StringRuft den lokalen Namen des Attributs ab.
getNamespace()NamespaceRuft 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()ContentTrennt den Knoten vom übergeordneten Knoten Element.
getParentElement()ElementRuft den übergeordneten Knoten Element des Knotens ab.
getText()StringRuft den Textwert des Knotens Text ab.
getValue()StringRuft den Textwert aller Knoten, die direkte oder indirekte untergeordnete Knoten des Knotens sind, in der Reihenfolge ab, in der sie im Dokument angezeigt werden.
setText(text)TextLegt den Textwert des Knotens Text fest.

Comment

Methoden

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

Content

Methoden

MethodeRückgabetypKurzbeschreibung
asCdata()CdataWandelt den Knoten für die automatische Vervollständigung in einen CDATASection-Knoten um.
asComment()CommentWandelt den Knoten für die automatische Vervollständigung in einen Comment-Knoten um.
asDocType()DocTypeWandelt den Knoten für die automatische Vervollständigung in einen DocumentType-Knoten um.
asElement()ElementWandelt den Knoten für die automatische Vervollständigung in einen Element-Knoten um.
asEntityRef()EntityRefWandelt den Knoten für die automatische Vervollständigung in einen EntityReference-Knoten um.
asProcessingInstruction()ProcessingInstructionWandelt den Knoten für die automatische Vervollständigung in einen ProcessingInstruction-Knoten um.
asText()TextWandelt den Knoten für die automatische Vervollständigung in einen Text-Knoten um.
detach()ContentTrennt den Knoten vom übergeordneten Knoten Element.
getParentElement()ElementRuft den übergeordneten Knoten Element des Knotens ab.
getType()ContentTypeRuft den Inhaltstyp des Knotens ab.
getValue()StringRuft den Textwert aller Knoten, die direkte oder indirekte untergeordnete Knoten des Knotens sind, in der Reihenfolge ab, in der sie im Dokument angezeigt werden.

ContentType

Attribute

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

DocType

Methoden

MethodeRückgabetypKurzbeschreibung
detach()ContentTrennt den Knoten vom übergeordneten Knoten Element.
getElementName()StringRuft den Namen des Element-Stammknotens ab, der in der Deklaration DocType angegeben ist.
getInternalSubset()StringRuft die internen Teilmengendaten für den Knoten DocumentType ab.
getParentElement()ElementRuft den übergeordneten Knoten Element des Knotens ab.
getPublicId()StringRuft die öffentliche ID der externen Teilmengedaten 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, die direkte oder indirekte untergeordnete Knoten des Knotens sind, in der Reihenfolge ab, in der sie im Dokument angezeigt werden.
setElementName(name)DocTypeLegt den Namen des Element-Stammknotens fest, der in der Deklaration DocType 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)DocumentHängt den angegebenen Knoten an das Ende des Dokuments an.
addContent(index, content)DocumentFügt den angegebenen Knoten beim angegebenen Index unter allen Knoten ein, die dem Dokument unmittelbar untergeordnet sind.
cloneContent()Content[]Erstellt nicht angehängte Kopien aller Knoten, die dem Dokument unmittelbar untergeordnet sind.
detachRootElement()ElementTrennt den Element-Stammknoten des Dokuments und gibt ihn zurück.
getAllContent()Content[]Ruft alle Knoten ab, die dem Dokument unmittelbar untergeordnet sind.
getContent(index)ContentRuft den Knoten beim angegebenen Index aus allen Knoten ab, die dem Dokument unmittelbar untergeordnet sind.
getContentSize()IntegerRuft die Anzahl der Knoten ab, die dem Dokument unmittelbar untergeordnet sind.
getDescendants()Content[]Ruft alle Knoten, die dem Dokument direkt oder indirekt untergeordnet sind, in der Reihenfolge ab, in der sie im Dokument angezeigt werden.
getDocType()DocTypeRuft die DocType-Deklaration des Dokuments ab.
getRootElement()ElementRuft den Element-Stammknoten des Dokuments ab.
hasRootElement()BooleanBestimmt, ob das Dokument einen Element-Stammknoten hat.
removeContent()Content[]Entfernt alle Knoten, die dem Dokument unmittelbar untergeordnet sind.
removeContent(content)BooleanEntfernt den angegebenen Knoten, wenn der Knoten dem Dokument unmittelbar untergeordnet ist.
removeContent(index)ContentEntfernt den Knoten am angegebenen Index aus allen Knoten, die dem Dokument unmittelbar untergeordnet 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)ElementHängt den angegebenen Knoten als letztes untergeordnetes Element des Knotens Element an.
addContent(index, content)ElementFügt den angegebenen Knoten beim angegebenen Index unter allen Knoten ein, die unmittelbar dem Knoten Element untergeordnet sind.
cloneContent()Content[]Erstellt nicht angehängte Kopien aller Knoten, die dem {@code Element}-Knoten unmittelbar untergeordnet sind.
detach()ContentTrennt den Knoten vom übergeordneten Knoten Element.
getAllContent()Content[]Ruft alle Knoten ab, die dem Knoten {@code Element} unmittelbar untergeordnet sind.
getAttribute(name)AttributeRuft das Attribut für diesen Element-Knoten mit dem angegebenen Namen und ohne Namespace ab.
getAttribute(name, namespace)AttributeRuft 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)ElementRuft den ersten Element-Knoten mit dem angegebenen Namen und keinem Namespace ab, der diesem Element-Knoten unmittelbar untergeordnet ist.
getChild(name, namespace)ElementRuft den ersten Element-Knoten mit dem angegebenen Namen und Namespace ab, der diesem Element-Knoten unmittelbar untergeordnet ist.
getChildText(name)StringRuft den Textwert des Knotens mit dem angegebenen Namen und ohne Namespace ab, wenn der Knoten dem Knoten Element unmittelbar untergeordnet ist.
getChildText(name, namespace)StringRuft den Textwert des Knotens mit dem angegebenen Namen und Namespace ab, wenn der Knoten dem Knoten Element unmittelbar untergeordnet ist.
getChildren()Element[]Ruft alle Element-Knoten, die diesem Element-Knoten unmittelbar untergeordnet sind, in der Reihenfolge ab, in der sie im Dokument aufgeführt sind.
getChildren(name)Element[]Ruft alle Element-Knoten mit dem angegebenen Namen und ohne Namespace ab, die diesem Element-Knoten unmittelbar untergeordnet 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, die diesem Element-Knoten unmittelbar untergeordnet sind, in der Reihenfolge ab, in der sie im Dokument aufgeführt sind.
getContent(index)ContentRuft den Knoten beim angegebenen Index aus allen Knoten ab, die dem Knoten {@code Element} unmittelbar untergeordnet sind.
getContentSize()IntegerRuft die Anzahl der Knoten ab, die dem {@code Element}-Knoten unmittelbar untergeordnet sind.
getDescendants()Content[]Ruft alle Knoten, die direkte oder indirekte untergeordnete Knoten des {@code Element}-Knotens sind, in der Reihenfolge ab, in der sie im Dokument angezeigt werden.
getDocument()DocumentRuft das XML-Dokument ab, das den Knoten {@code Element} enthält.
getName()StringRuft den lokalen Namen des Knotens Element ab.
getNamespace()NamespaceRuft den Namespace für den Knoten Element ab.
getNamespace(prefix)NamespaceRuft den Namespace mit dem angegebenen Präfix für den Knoten Element ab.
getParentElement()ElementRuft den übergeordneten Knoten Element 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, die direkte oder indirekte untergeordnete Knoten des Knotens sind, in der Reihenfolge ab, in der sie im Dokument angezeigt werden.
isAncestorOf(other)BooleanBestimmt, ob dieser Element-Knoten ein direktes oder indirektes übergeordnetes Element eines bestimmten Element-Knotens ist.
isRootElement()BooleanBestimmt, ob der Knoten Element der Stammknoten des Dokuments ist.
removeAttribute(attribute)BooleanEntfernt das angegebene Attribut für diesen Element-Knoten, falls ein solches Attribut vorhanden ist.
removeAttribute(attributeName)BooleanEntfernt das Attribut für diesen Element-Knoten mit dem angegebenen Namen und ohne Namespace, wenn 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 dem {@code Element}-Knoten unmittelbar untergeordnet sind.
removeContent(content)BooleanEntfernt den angegebenen Knoten, wenn der Knoten ein unmittelbares untergeordnetes Element des {@code Element}-Knotens ist.
removeContent(index)ContentEntfernt den Knoten beim angegebenen Index aus allen Knoten, die dem Knoten {@code Element} unmittelbar untergeordnet 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, 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 Knotens Element 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()ContentTrennt den Knoten vom übergeordneten Knoten Element.
getName()StringRuft den Namen des Knotens EntityReference ab.
getParentElement()ElementRuft den übergeordneten Knoten Element des Knotens ab.
getPublicId()StringRuft die öffentliche ID des Knotens EntityReference ab.
getSystemId()StringRuft die System-ID des Knotens EntityReference ab.
getValue()StringRuft den Textwert aller Knoten, die direkte oder indirekte untergeordnete Knoten des Knotens sind, in der Reihenfolge ab, in der sie im Dokument angezeigt werden.
setName(name)EntityRefLegt den Namen des Knotens EntityReference fest.
setPublicId(id)EntityRefLegt die öffentliche ID des Knotens EntityReference fest.
setSystemId(id)EntityRefLegt die System-ID des Knotens EntityReference fest.

Format

Methoden

MethodeRückgabetypKurzbeschreibung
format(document)StringGibt den angegebenen Document als formatierten String aus.
format(element)StringGibt den angegebenen Element-Knoten als formatierten String aus.
setEncoding(encoding)FormatLegt die Zeichencodierung fest, die vom Formatierer verwendet werden soll.
setIndent(indent)FormatLegt den String fest, der zum Einrücken von untergeordneten Knoten im Verhältnis zu ihren übergeordneten Knoten verwendet wird.
setLineSeparator(separator)FormatLegt den String fest, der immer dann 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 wie das Codierungsfeld in <?xml version="1.0" encoding="UTF-8"?> weglassen soll.

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()ContentTrennt den Knoten vom übergeordneten Knoten Element.
getData()StringRuft die Rohdaten für jede Anweisung im Knoten ProcessingInstruction ab.
getParentElement()ElementRuft den übergeordneten Knoten Element des Knotens ab.
getTarget()StringRuft das Ziel für den Knoten ProcessingInstruction ab.
getValue()StringRuft den Textwert aller Knoten, die direkte oder indirekte untergeordnete Knoten des Knotens sind, in der Reihenfolge ab, 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()ContentTrennt den Knoten vom übergeordneten Knoten Element.
getParentElement()ElementRuft den übergeordneten Knoten Element des Knotens ab.
getText()StringRuft den Textwert des Knotens Text ab.
getValue()StringRuft den Textwert aller Knoten, die direkte oder indirekte untergeordnete Knoten des Knotens sind, in der Reihenfolge ab, in der sie im Dokument angezeigt werden.
setText(text)TextLegt den Textwert des Knotens Text fest.

XmlService

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.