XML Service

XML-Dienst

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

// 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
AttributeDarstellung eines XML-Attributs.
CdataDarstellung eines XML-CDATASection-Knotens.
CommentDarstellung eines XML-Comment-Knotens.
ContentEine Darstellung eines generischen XML-Knotens.
ContentTypeEine Aufzählung, die die Typen von XML-Inhaltsknoten darstellt.
DocTypeDarstellung eines XML-DocumentType-Knotens.
DocumentDarstellung eines XML-Dokuments.
ElementDarstellung eines XML-Element-Knotens.
EntityRefDarstellung eines XML-EntityReference-Knotens.
FormatEinen Formatierer zum Ausgeben eines XML-Dokuments in drei vordefinierten Formaten, die noch weiter angepasst werden können. angepasst werden.
NamespaceEine Darstellung eines XML-Namespace.
ProcessingInstructionDarstellung eines XML-ProcessingInstruction-Knotens.
TextDarstellung eines XML-Text-Knotens.
XmlServiceMit diesem Dienst können Skripts XML-Dokumente parsen, navigieren 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 Element-Knoten des Knotens ab.
getText()StringRuft den Textwert des Knotens Text ab.
getValue()StringRuft den Textwert aller Knoten ab, die dem Knoten direkt oder indirekt untergeordnet sind, in der Reihenfolge, werden sie im Dokument angezeigt.
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 Element-Knoten des Knotens ab.
getText()StringRuft den Textwert des Knotens Comment ab.
getValue()StringRuft den Textwert aller Knoten ab, die dem Knoten direkt oder indirekt untergeordnet sind, in der Reihenfolge, werden sie im Dokument angezeigt.
setText(text)CommentLegt den Textwert des Knotens Comment fest.

Content

Methoden

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

ContentType

Attribute

AttributTypBeschreibung
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 in der Deklaration DocType angegebenen Stammknotens Element ab.
getInternalSubset()StringRuft die internen Teilmengendaten für den Knoten DocumentType ab.
getParentElement()ElementRuft 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 dem Knoten direkt oder indirekt untergeordnet sind, in der Reihenfolge, werden sie im Dokument angezeigt.
setElementName(name)DocTypeLegt den Namen des Stammknotens Element fest, der in DocType angegeben werden soll Erklärung.
setInternalSubset(data)DocTypeLegt die internen Teilmengendaten für den Knoten DocumentType fest.
setPublicId(id)DocTypeLegt die öffentliche ID der externen Teilmenge für den Knoten DocumentType fest.
setSystemId(id)DocTypeLegt die System-ID der externen Teilmenge 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.
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 am angegebenen Index unter allen Knoten ab, die unmittelbar untergeordnete Elemente des Dokument.
getContentSize()IntegerRuft die Anzahl der Knoten ab, die dem Dokument unmittelbar untergeordnet sind.
getDescendants()Content[]Ruft alle Knoten ab, die dem Dokument direkt oder indirekt untergeordnet sind, in der Reihenfolge, 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 dieser ein unmittelbares untergeordnetes Element des Dokuments ist.
removeContent(index)ContentEntfernt den Knoten am angegebenen Index aus allen Knoten, die unmittelbar untergeordnete Elemente des Dokument.
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 dem Element Knoten.
cloneContent()Content[]Erstellt nicht angehängte Kopien aller Knoten, die dem Knoten {@code Element} unmittelbar untergeordnet sind.
detach()ContentTrennt den Knoten vom übergeordneten Knoten Element.
getAllContent()Content[]Ruft alle Knoten ab, die dem {@code Element}-Knoten 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 aufgeführt sind.
getChild(name)ElementRuft den ersten Element-Knoten mit dem angegebenen Namen und ohne Namespace ab, der ein unmittelbarer Knoten ist untergeordnetes Element dieses Element-Knotens.
getChild(name, namespace)ElementRuft den ersten Element-Knoten mit dem angegebenen Namen und Namespace ab, der ein unmittelbarer Knoten ist untergeordnetes Element dieses Element-Knotens.
getChildText(name)StringRuft den Textwert des Knotens mit dem angegebenen Namen und ohne Namespace ab, wenn der Knoten ein unmittelbares untergeordnetes Element des Knotens Element.
getChildText(name, namespace)StringRuft den Textwert des Knotens mit dem angegebenen Namen und Namespace ab, wenn der Knoten ein sofortiger Knoten ist. untergeordnetes Element des Knotens Element.
getChildren()Element[]Ruft alle Element-Knoten ab, die diesem Element-Knoten unmittelbar untergeordnet sind, in der in der sie im Dokument erscheinen.
getChildren(name)Element[]Ruft alle Element-Knoten mit dem angegebenen Namen und ohne Namespace ab, die unmittelbar untergeordnete Elemente sind dieses Element-Knotens 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 unmittelbar untergeordnete Elemente sind und zwar in der Reihenfolge, in der sie im Dokument angezeigt werden.Element
getContent(index)ContentRuft den Knoten am angegebenen Index unter allen Knoten ab, die unmittelbar untergeordnete Elemente des {@code Element}-Knotens.
getContentSize()IntegerRuft die Anzahl der Knoten ab, die dem {@code Element}-Knoten unmittelbar untergeordnet sind.
getDescendants()Content[]Ruft alle Knoten, die dem {@code Element}-Knoten direkt oder indirekt untergeordnet 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 Element-Knoten des Knotens ab.
getQualifiedName()StringRuft den lokalen Namen und das Namespace-Präfix des Knotens Element im Format [namespacePrefix]:[localName] ab.
getText()StringRuft den Textwert des Knotens Element ab.
getValue()StringRuft den Textwert aller Knoten ab, die dem Knoten direkt oder indirekt untergeordnet sind, in der Reihenfolge, werden sie im Dokument angezeigt.
isAncestorOf(other)BooleanLegt fest, ob dieser Element-Knoten ein direktes oder indirektes übergeordnetes Element eines bestimmten Element-Knotens ist.
isRootElement()BooleanLegt fest, ob der Element-Knoten 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, wenn ob ein solches Attribut existiert.
removeAttribute(attributeName, namespace)BooleanEntfernt das Attribut für diesen Element-Knoten mit dem angegebenen Namen und Namespace, sofern vorhanden wenn ein Attribut vorhanden ist.
removeContent()Content[]Entfernt alle Knoten, die dem {@code Element}-Knoten unmittelbar untergeordnet sind.
removeContent(content)BooleanEntfernt den angegebenen Knoten, wenn dieser ein unmittelbares untergeordnetes Element des {@code Element}-Knotens ist.
removeContent(index)ContentEntfernt den Knoten am angegebenen Index aus allen Knoten, die unmittelbar untergeordnete Elemente des {@code Element}-Knotens.
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 Element-Knoten 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 ab, die dem Knoten direkt oder indirekt untergeordnet sind, in der Reihenfolge, werden sie im Dokument angezeigt.
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 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 relativ 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 auslassen soll, z. B. <?xml version="1.0" encoding="UTF-8"?>.
setOmitEncoding(omitEncoding)FormatLegt fest, ob der Formatierer die Codierung in der XML-Deklaration auslassen soll, z. B. 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()ContentTrennt den Knoten vom übergeordneten Knoten Element.
getData()StringRuft die Rohdaten für jede Anweisung im Knoten ProcessingInstruction ab.
getParentElement()ElementRuft 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 dem Knoten direkt oder indirekt untergeordnet sind, in der Reihenfolge, werden sie im Dokument angezeigt.

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 Element-Knoten des Knotens ab.
getText()StringRuft den Textwert des Knotens Text ab.
getValue()StringRuft den Textwert aller Knoten ab, die dem Knoten direkt oder indirekt untergeordnet sind, in der Reihenfolge, werden sie im Dokument angezeigt.
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 Stammknoten Element durch den vorgegebenen Namen.
createDocType(elementName, systemId)DocTypeErstellt einen nicht angehängten DocumentType-Knoten für den Stammknoten Element durch den angegebenen Namen und die System-ID für die externen Teilmengendaten.
createDocType(elementName, publicId, systemId)DocTypeErstellt einen nicht angehängten DocumentType-Knoten für den Stammknoten Element durch den angegebenen Namen sowie die angegebene öffentliche 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 vom Typ Element.
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 eine Namespace mit dem angegebenen Präfix und URI.
getNoNamespace()NamespaceErstellt einen Namespace, der das Fehlen eines realen Namespace darstellt.
getPrettyFormat()FormatErstellt ein Format-Objekt für die Ausgabe eines für Menschen lesbaren XML-Dokuments.
getRawFormat()FormatErstellt ein Format-Objekt für die Ausgabe eines XML-Rohdokuments.
getXmlNamespace()NamespaceErstellt eine Namespace mit dem Standardpräfix xml.
parse(xml)DocumentErstellt eine Document aus dem angegebenen XML-Code, ohne die XML-Datei zu validieren.