XML Service

XML-Dienst

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

Classes

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 zum Ausgeben eines XML-Dokuments mit drei vordefinierten Formaten, die weiter angepasst werden können.
NamespaceEine Darstellung eines XML-Namespaces.
ProcessingInstructionEine Darstellung eines XML-ProcessingInstruction-Knotens.
TextEine Darstellung eines XML-Text-Knotens.
XmlServiceMit diesem Dienst können Scripts XML-Dokumente parsen, durchsuchen und programmatisch erstellen.

Attribute

Methoden

MethodeRückgabetypKurzbeschreibung
getName()StringDer lokale Name des Attributs.
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)TextDer angegebene Text wird an alle Inhalte angehängt, die bereits im Knoten vorhanden sind.
detach()ContentDer Knoten wird von seinem übergeordneten Knoten Element getrennt.
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 direkte oder indirekte untergeordnete Elemente des Knotens sind, in der Reihenfolge, in der sie im Dokument erscheinen.
setText(text)TextLegt den Textwert des Knotens Text fest.

Comment

Methoden

MethodeRückgabetypKurzbeschreibung
detach()ContentDer Knoten wird von seinem übergeordneten Knoten Element getrennt.
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 direkte oder indirekte untergeordnete Elemente des Knotens sind, in der Reihenfolge, in der sie im Dokument erscheinen.
setText(text)CommentLegt den Textwert des Knotens Comment fest.

Content

Methoden

MethodeRückgabetypKurzbeschreibung
asCdata()CdataDer Knoten wird für die automatische Vervollständigung als CDATASection-Knoten gecastet.
asComment()CommentDer Knoten wird für die automatische Vervollständigung als Comment-Knoten gecastet.
asDocType()DocTypeDer Knoten wird für die automatische Vervollständigung als DocumentType-Knoten gecastet.
asElement()ElementDer Knoten wird für die automatische Vervollständigung als Element-Knoten gecastet.
asEntityRef()EntityRefDer Knoten wird für die automatische Vervollständigung als EntityReference-Knoten gecastet.
asProcessingInstruction()ProcessingInstructionDer Knoten wird für die automatische Vervollständigung als ProcessingInstruction-Knoten gecastet.
asText()TextDer Knoten wird für die automatische Vervollständigung als Text-Knoten gecastet.
detach()ContentDer Knoten wird von seinem übergeordneten Knoten Element getrennt.
getParentElement()ElementRuft den übergeordneten Element-Knoten des Knotens ab.
getType()ContentTypeDer Inhaltstyp des Knotens.
getValue()StringRuft den Textwert aller Knoten ab, die direkte oder indirekte untergeordnete Elemente des Knotens sind, in der Reihenfolge, in der sie im Dokument erscheinen.

ContentType

Attribute

AttributTypBeschreibung
CDATAEnumXML-CDATASection-Knoten
COMMENTEnumXML-Comment-Knoten
DOCTYPEEnumXML-DocumentType-Knoten
ELEMENTEnumXML-Element-Knoten
ENTITYREFEnumXML-EntityReference-Knoten
PROCESSINGINSTRUCTIONEnumXML-ProcessingInstruction-Knoten
TEXTEnumXML-Text-Knoten

DocType

Methoden

MethodeRückgabetypKurzbeschreibung
detach()ContentDer Knoten wird von seinem übergeordneten Knoten Element getrennt.
getElementName()StringRuft den Namen des Stammknotens Element ab, der in der DocType-Deklaration angegeben ist.
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 Teilmenge 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 erscheinen.
setElementName(name)DocTypeLegt den Namen des Stammknotens Element fest, der in der DocType-Deklaration angegeben werden soll.
setInternalSubset(data)DocTypeHiermit werden die internen Teilmengendaten für den DocumentType-Knoten festgelegt.
setPublicId(id)DocTypeLegt die öffentliche ID der externen Teilmenge für den DocumentType-Knoten 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 an das Ende des Dokuments an.
addContent(index, content)DocumentDer angegebene Knoten wird an der angegebenen Position unter allen Knoten eingefügt, die unmittelbare untergeordnete Elemente des Dokuments sind.
cloneContent()Content[]Es werden losgelöste Kopien aller Knoten erstellt, die unmittelbare untergeordnete Elemente des Dokuments sind.
detachRootElement()ElementTrennt den Stammknoten Element des Dokuments und gibt ihn zurück.
getAllContent()Content[]Alle Knoten abrufen, die dem Dokument direkt untergeordnet sind.
getContent(index)ContentRuft den Knoten mit dem angegebenen Index unter allen Knoten ab, die unmittelbare untergeordnete Elemente des Dokuments sind.
getContentSize()IntegerDie Anzahl der Knoten, die unmittelbare untergeordnete Elemente des Dokuments sind.
getDescendants()Content[]Hier werden alle Knoten abgerufen, die direkte oder indirekte untergeordnete Elemente des Dokuments sind, in der Reihenfolge, in der sie im Dokument erscheinen.
getDocType()DocTypeRuft die DocType-Erklärung des Dokuments ab.
getRootElement()ElementRuft den Stammknoten Element des Dokuments ab.
hasRootElement()BooleanBestimmt, ob das Dokument einen Stammknoten Element hat.
removeContent()Content[]Entfernt alle Knoten, die unmittelbare untergeordnete Elemente des Dokuments sind.
removeContent(content)BooleanEntfernt den angegebenen Knoten, wenn er ein direktes untergeordnetes Element des Dokuments ist.
removeContent(index)ContentEntfernt den Knoten mit dem angegebenen Index aus allen Knoten, die unmittelbare untergeordnete Elemente des Dokuments sind.
setDocType(docType)DocumentLegt die DocType-Erklärung des Dokuments fest.
setRootElement(element)DocumentLegt den Stamm-Element-Knoten des Dokuments fest.

Element

Methoden

MethodeRückgabetypKurzbeschreibung
addContent(content)ElementDer angegebene Knoten wird als letztes untergeordnetes Element des Element-Knotens angehängt.
addContent(index, content)ElementDer angegebene Knoten wird an der angegebenen Position unter allen Knoten eingefügt, die unmittelbare untergeordnete Knoten des Knotens Element sind.
cloneContent()Content[]Es werden losgelöste Kopien aller Knoten erstellt, die unmittelbare untergeordnete Elemente des {@code Element}-Knotens sind.
detach()ContentDer Knoten wird von seinem übergeordneten Knoten Element getrennt.
getAllContent()Content[]Hiermit werden alle Knoten abgerufen, die unmittelbare untergeordnete Elemente des {@code Element}-Knotens 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[]Hier werden alle Attribute für diesen Element-Knoten in der Reihenfolge abgerufen, in der sie im Dokument erscheinen.
getChild(name)ElementRuft den ersten Element-Knoten mit dem angegebenen Namen und ohne Namespace ab, der ein direktes Kind dieses Element-Knotens ist.
getChild(name, namespace)ElementRuft den ersten Element-Knoten mit dem angegebenen Namen und Namespace ab, der ein direktes Kind dieses Element-Knotens ist.
getChildText(name)StringRuft den Textwert des Knotens mit dem angegebenen Namen und ohne Namespace ab, wenn der Knoten ein direktes Kind des Knotens Element ist.
getChildText(name, namespace)StringRuft den Textwert des Knotens mit dem angegebenen Namen und Namespace ab, wenn der Knoten ein direktes Kind 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 erscheinen.
getChildren(name)Element[]Hiermit werden alle Element-Knoten mit dem angegebenen Namen und ohne Namespace abgerufen, die unmittelbare Unterknoten dieses Element-Knotens sind. Die Knoten werden in der Reihenfolge abgerufen, in der sie im Dokument vorkommen.
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 erscheinen.
getContent(index)ContentRuft den Knoten mit dem angegebenen Index aus allen Knoten ab, die unmittelbare untergeordnete Elemente des {@code Element}-Knotens sind.
getContentSize()IntegerDie Anzahl der Knoten, die unmittelbare untergeordnete Elemente des {@code Element}-Knotens sind.
getDescendants()Content[]Hier werden alle Knoten abgerufen, die direkte oder indirekte untergeordnete Elemente des {@code Element}-Knotens sind, in der Reihenfolge, in der sie im Dokument erscheinen.
getDocument()DocumentRuft das XML-Dokument ab, das den Knoten {@code Element} enthält.
getName()StringDer lokale Name des Element-Knotens.
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()ElementRuft 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 erscheinen.
isAncestorOf(other)BooleanBestimmt, ob dieser Element-Knoten ein direkter oder indirekter übergeordneter Knoten eines bestimmten Element-Knotens ist.
isRootElement()BooleanBestimmt, ob der Element-Knoten der Stammknoten des Dokuments ist.
removeAttribute(attribute)BooleanEntfernt das angegebene Attribut für diesen Element-Knoten, sofern vorhanden.
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 unmittelbare untergeordnete Elemente des {@code Element}-Knotens sind.
removeContent(content)BooleanEntfernt den angegebenen Knoten, wenn er ein direktes untergeordnetes Element des {@code Element}-Knotens ist.
removeContent(index)ContentEntfernt den Knoten am angegebenen Index aus allen Knoten, die unmittelbare untergeordnete Elemente des Knotens {@code Element} sind.
setAttribute(attribute)ElementLegt das angegebene Attribut für diesen Element-Knoten fest.
setAttribute(name, value)ElementHiermit wird das Attribut für diesen Element-Knoten mit dem angegebenen Namen, Wert und ohne Namespace festgelegt.
setAttribute(name, value, namespace)ElementHiermit wird das Attribut für diesen Element-Knoten mit dem angegebenen Namen, Wert und Namespace festgelegt.
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()ContentDer Knoten wird von seinem übergeordneten Knoten Element getrennt.
getName()StringRuft den Namen des EntityReference-Knotens ab.
getParentElement()ElementRuft den übergeordneten Element-Knoten des Knotens ab.
getPublicId()StringRuft die öffentliche ID des EntityReference-Knotens ab.
getSystemId()StringRuft 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 erscheinen.
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 der Formatierer verwenden soll.
setIndent(indent)FormatHiermit wird der String festgelegt, mit dem untergeordnete Knoten relativ zu ihren übergeordneten Elementen eingerückt werden.
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 auslassen soll, z. B. <?xml version="1.0" encoding="UTF-8"?>.
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()StringDas Präfix für den Namespace.
getURI()StringRuft den URI für den Namespace ab.

ProcessingInstruction

Methoden

MethodeRückgabetypKurzbeschreibung
detach()ContentDer Knoten wird von seinem übergeordneten Knoten Element getrennt.
getData()StringHier werden die Rohdaten für jede Anweisung im ProcessingInstruction-Knoten abgerufen.
getParentElement()ElementRuft den übergeordneten Element-Knoten des Knotens ab.
getTarget()StringRuft das Ziel für den ProcessingInstruction-Knoten 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 erscheinen.

Text

Methoden

MethodeRückgabetypKurzbeschreibung
append(text)TextDer angegebene Text wird an alle Inhalte angehängt, die bereits im Knoten vorhanden sind.
detach()ContentDer Knoten wird von seinem übergeordneten Knoten Element getrennt.
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 direkte oder indirekte untergeordnete Elemente des Knotens sind, in der Reihenfolge, in der sie im Dokument erscheinen.
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 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.