XML Service

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
XML-сервис

Эта служба позволяет сценариям анализировать, перемещаться и программно создавать документы XML.

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

Классы

Имя Краткое описание
Attribute Представление атрибута XML.
Cdata Представление узла XML CDATASection .
Comment Представление узла Comment XML.
Content Представление универсального узла XML.
ContentType Перечисление, представляющее типы узлов содержимого XML.
DocType Представление узла XML DocumentType .
Document Представление XML-документа.
Element Представление узла Element XML.
EntityRef Представление узла XML EntityReference .
Format Средство форматирования для вывода XML-документа с тремя предопределенными форматами, которые можно дополнительно настроить.
Namespace Представление пространства имен XML.
ProcessingInstruction Представление узла XML ProcessingInstruction .
Text Представление узла XML Text .
XmlService Эта служба позволяет сценариям анализировать, перемещаться и программно создавать документы XML.

Attribute

Методы

Метод Тип возврата Краткое описание
getName() String Получает локальное имя атрибута.
getNamespace() Namespace Получает пространство имен для атрибута.
getValue() String Получает значение атрибута.
setName(name) Attribute Задает локальное имя атрибута.
setNamespace(namespace) Attribute Задает пространство имен для атрибута.
setValue(value) Attribute Задает значение атрибута.

Cdata

Методы

Метод Тип возврата Краткое описание
append(text) Text Добавляет данный текст к любому содержимому, которое уже существует в узле.
detach() Content Отсоединяет узел от его родительского узла Element .
getParentElement() Element Получает родительский узел Element узла.
getText() String Получает текстовое значение узла Text .
getValue() String Получает текстовое значение всех узлов, которые являются прямыми или косвенными дочерними узлами узла, в порядке их появления в документе.
setText(text) Text Задает текстовое значение узла Text .

Comment

Методы

Метод Тип возврата Краткое описание
detach() Content Отсоединяет узел от его родительского узла Element .
getParentElement() Element Получает родительский узел Element узла.
getText() String Получает текстовое значение узла Comment .
getValue() String Получает текстовое значение всех узлов, которые являются прямыми или косвенными дочерними узлами узла, в порядке их появления в документе.
setText(text) Comment Задает текстовое значение узла Comment .

Content

Методы

Метод Тип возврата Краткое описание
asCdata() Cdata Преобразует узел как узел CDATASection для целей автозаполнения.
asComment() Comment Приводит узел к узлу Comment для целей автозаполнения.
asDocType() DocType Преобразует узел как узел DocumentType для целей автозаполнения.
asElement() Element Приводит узел к узлу Element для целей автозаполнения.
asEntityRef() EntityRef Преобразует узел как узел EntityReference для целей автозаполнения.
asProcessingInstruction() ProcessingInstruction Преобразует узел как узел ProcessingInstruction для целей автозаполнения.
asText() Text Приводит узел к Text узлу для целей автозаполнения.
detach() Content Отсоединяет узел от его родительского узла Element .
getParentElement() Element Получает родительский узел Element узла.
getType() ContentType Получает тип содержимого узла.
getValue() String Получает текстовое значение всех узлов, которые являются прямыми или косвенными дочерними узлами узла, в порядке их появления в документе.

ContentType

Характеристики

Имущество Тип Описание
CDATA Enum Узел XML CDATASection .
COMMENT Enum Узел Comment XML.
DOCTYPE Enum Узел XML DocumentType .
ELEMENT Enum Узел Element XML.
ENTITYREF Enum Узел XML EntityReference .
PROCESSINGINSTRUCTION Enum Узел XML ProcessingInstruction .
TEXT Enum Узел XML Text .

DocType

Методы

Метод Тип возврата Краткое описание
detach() Content Отсоединяет узел от его родительского узла Element .
getElementName() String Получает имя корневого узла Element , указанное в объявлении DocType .
getInternalSubset() String Получает внутренние данные подмножества для узла DocumentType .
getParentElement() Element Получает родительский узел Element узла.
getPublicId() String Получает общедоступный идентификатор данных внешнего подмножества для узла DocumentType .
getSystemId() String Получает системный идентификатор данных внешнего подмножества для узла DocumentType .
getValue() String Получает текстовое значение всех узлов, которые являются прямыми или косвенными дочерними узлами узла, в порядке их появления в документе.
setElementName(name) DocType Задает имя корневого узла Element для указания в объявлении DocType .
setInternalSubset(data) DocType Задает внутренние данные подмножества для узла DocumentType .
setPublicId(id) DocType Задает общедоступный идентификатор данных внешнего подмножества для узла DocumentType .
setSystemId(id) DocType Задает системный идентификатор данных внешнего подмножества для узла DocumentType .

Document

Методы

Метод Тип возврата Краткое описание
addContent(content) Document Добавляет указанный узел в конец документа.
addContent(index, content) Document Вставляет данный узел с заданным индексом среди всех узлов, которые являются непосредственными дочерними элементами документа.
cloneContent() Content[] Создает неприкрепленные копии всех узлов, которые являются непосредственными дочерними элементами документа.
detachRootElement() Element Отсоединяет и возвращает корневой узел Element документа.
getAllContent() Content[] Получает все узлы, которые являются непосредственными дочерними элементами документа.
getContent(index) Content Получает узел по заданному индексу среди всех узлов, которые являются непосредственными дочерними элементами документа.
getContentSize() Integer Получает количество узлов, которые являются непосредственными дочерними элементами документа.
getDescendants() Content[] Получает все узлы, которые являются прямыми или косвенными дочерними элементами документа, в том порядке, в котором они появляются в документе.
getDocType() DocType Получает объявление DocType документа.
getRootElement() Element Получает корневой узел Element документа.
hasRootElement() Boolean Определяет, имеет ли документ корневой узел Element .
removeContent() Content[] Удаляет все узлы, которые являются непосредственными дочерними элементами документа.
removeContent(content) Boolean Удаляет данный узел, если узел является непосредственным дочерним элементом документа.
removeContent(index) Content Удаляет узел с заданным индексом среди всех узлов, которые являются непосредственными дочерними элементами документа.
setDocType(docType) Document Задает объявление DocType документа.
setRootElement(element) Document Задает корневой узел Element документа.

Element

Методы

Метод Тип возврата Краткое описание
addContent(content) Element Добавляет данный узел в качестве последнего дочернего элемента узла Element .
addContent(index, content) Element Вставляет данный узел с заданным индексом среди всех узлов, которые являются непосредственными дочерними элементами узла Element .
cloneContent() Content[] Создает неприкрепленные копии всех узлов, которые являются непосредственными дочерними элементами узла {@code Element}.
detach() Content Отсоединяет узел от его родительского узла Element .
getAllContent() Content[] Получает все узлы, которые являются непосредственными дочерними элементами узла {@code Element}.
getAttribute(name) Attribute Получает атрибут для этого узла Element с заданным именем и без пространства имен.
getAttribute(name, namespace) Attribute Получает атрибут для этого узла Element с заданным именем и пространством имен.
getAttributes() Attribute[] Получает все атрибуты для этого узла Element в том порядке, в котором они появляются в документе.
getChild(name) Element Получает первый узел Element с заданным именем и без пространства имен, который является непосредственным дочерним элементом этого узла Element .
getChild(name, namespace) Element Получает первый узел Element с заданным именем и пространством имен, который является непосредственным дочерним элементом этого узла Element .
getChildText(name) String Получает текстовое значение узла с заданным именем и без пространства имен, если узел является непосредственным дочерним элементом узла Element .
getChildText(name, namespace) String Получает текстовое значение узла с заданным именем и пространством имен, если узел является непосредственным дочерним элементом узла Element .
getChildren() Element[] Получает все узлы Element , которые являются непосредственными дочерними элементами этого узла Element , в том порядке, в котором они появляются в документе.
getChildren(name) Element[] Получает все узлы Element с заданным именем и без пространства имен, которые являются непосредственными дочерними элементами этого узла Element , в порядке их появления в документе.
getChildren(name, namespace) Element[] Получает все узлы Element с заданным именем и пространством имен, которые являются непосредственными дочерними элементами этого узла Element , в порядке их появления в документе.
getContent(index) Content Получает узел с заданным индексом среди всех узлов, которые являются непосредственными дочерними элементами узла {@code Element}.
getContentSize() Integer Получает количество узлов, которые являются непосредственными дочерними элементами узла {@code Element}.
getDescendants() Content[] Получает все узлы, являющиеся прямыми или косвенными дочерними элементами узла {@code Element}, в порядке их появления в документе.
getDocument() Document Получает XML-документ, содержащий узел {@code Element}.
getName() String Получает локальное имя узла Element .
getNamespace() Namespace Получает пространство имен для узла Element .
getNamespace(prefix) Namespace Получает пространство имен с заданным префиксом для узла Element .
getParentElement() Element Получает родительский узел Element узла.
getQualifiedName() String Получает локальное имя и префикс пространства имен узла Element в форме [namespacePrefix]:[localName] .
getText() String Получает текстовое значение узла Element .
getValue() String Получает текстовое значение всех узлов, которые являются прямыми или косвенными дочерними узлами узла, в порядке их появления в документе.
isAncestorOf(other) Boolean Определяет, является ли этот узел Element прямым или косвенным родителем данного узла Element .
isRootElement() Boolean Определяет, является ли узел Element корневым узлом документа.
removeAttribute(attribute) Boolean Удаляет данный атрибут для этого узла Element , если такой атрибут существует.
removeAttribute(attributeName) Boolean Удаляет атрибут для этого узла Element с заданным именем и без пространства имен, если такой атрибут существует.
removeAttribute(attributeName, namespace) Boolean Удаляет атрибут для этого узла Element с заданным именем и пространством имен, если такой атрибут существует.
removeContent() Content[] Удаляет все узлы, которые являются непосредственными дочерними элементами узла {@code Element}.
removeContent(content) Boolean Удаляет данный узел, если он является непосредственным дочерним элементом узла {@code Element}.
removeContent(index) Content Удаляет узел с заданным индексом среди всех узлов, которые являются непосредственными дочерними элементами узла {@code Element}.
setAttribute(attribute) Element Устанавливает данный атрибут для этого узла Element .
setAttribute(name, value) Element Задает атрибут для этого узла Element с заданным именем, значением и без пространства имен.
setAttribute(name, value, namespace) Element Задает атрибут для этого узла Element с заданным именем, значением и пространством имен.
setName(name) Element Задает локальное имя узла Element .
setNamespace(namespace) Element Задает пространство имен для узла Element .
setText(text) Element Задает текстовое значение узла Element .

EntityRef

Методы

Метод Тип возврата Краткое описание
detach() Content Отсоединяет узел от его родительского узла Element .
getName() String Получает имя узла EntityReference .
getParentElement() Element Получает родительский узел Element узла.
getPublicId() String Получает общедоступный идентификатор узла EntityReference .
getSystemId() String Получает системный идентификатор узла EntityReference .
getValue() String Получает текстовое значение всех узлов, которые являются прямыми или косвенными дочерними узлами узла, в порядке их появления в документе.
setName(name) EntityRef Задает имя узла EntityReference .
setPublicId(id) EntityRef Задает общедоступный идентификатор узла EntityReference .
setSystemId(id) EntityRef Задает системный идентификатор узла EntityReference .

Format

Методы

Метод Тип возврата Краткое описание
format(document) String Выводит данный Document в виде форматированной строки.
format(element) String Выводит данный узел Element в виде форматированной строки.
setEncoding(encoding) Format Устанавливает кодировку символов, которую должен использовать модуль форматирования.
setIndent(indent) Format Задает строку, используемую для отступа дочерних узлов относительно их родителей.
setLineSeparator(separator) Format Устанавливает строку для вставки всякий раз, когда средство форматирования обычно вставляет разрыв строки.
setOmitDeclaration(omitDeclaration) Format Устанавливает, должен ли модуль форматирования пропускать объявление XML, например <?xml version="1.0" encoding="UTF-8"?> .
setOmitEncoding(omitEncoding) Format Устанавливает, должен ли модуль форматирования пропускать кодировку в объявлении XML, например поле кодировки в <?xml version="1.0" encoding="UTF-8"?> .

Namespace

Методы

Метод Тип возврата Краткое описание
getPrefix() String Получает префикс для пространства имен.
getURI() String Получает URI для пространства имен.

ProcessingInstruction

Методы

Метод Тип возврата Краткое описание
detach() Content Отсоединяет узел от его родительского узла Element .
getData() String Получает необработанные данные для каждой инструкции в узле ProcessingInstruction .
getParentElement() Element Получает родительский узел Element узла.
getTarget() String Получает цель для узла ProcessingInstruction .
getValue() String Получает текстовое значение всех узлов, которые являются прямыми или косвенными дочерними узлами узла, в порядке их появления в документе.

Text

Методы

Метод Тип возврата Краткое описание
append(text) Text Добавляет данный текст к любому содержимому, которое уже существует в узле.
detach() Content Отсоединяет узел от его родительского узла Element .
getParentElement() Element Получает родительский узел Element узла.
getText() String Получает текстовое значение узла Text .
getValue() String Получает текстовое значение всех узлов, которые являются прямыми или косвенными дочерними узлами узла, в порядке их появления в документе.
setText(text) Text Задает текстовое значение узла Text .

XmlService

Характеристики

Имущество Тип Описание
ContentTypes ContentType Перечисление, представляющее типы узлов содержимого XML.

Методы

Метод Тип возврата Краткое описание
createCdata(text) Cdata Создает неприсоединенный узел CDATASection с заданным значением.
createComment(text) Comment Создает неприкрепленный узел Comment с заданным значением.
createDocType(elementName) DocType Создает неприсоединенный узел DocumentType для корневого узла Element с заданным именем.
createDocType(elementName, systemId) DocType Создает неприсоединенный узел DocumentType для корневого узла Element с заданным именем и заданным идентификатором системы для внешнего подмножества данных.
createDocType(elementName, publicId, systemId) DocType Создает неприсоединенный узел DocumentType для корневого узла Element с заданным именем и заданным общедоступным идентификатором и системным идентификатором для данных внешнего подмножества.
createDocument() Document Создает пустой XML-документ.
createDocument(rootElement) Document Создает XML-документ с заданным корневым узлом Element .
createElement(name) Element Создает неприсоединенный узел Element с заданным локальным именем и без пространства имен.
createElement(name, namespace) Element Создает неприсоединенный узел Element с заданным локальным именем и пространством имен.
createText(text) Text Создает неприкрепленный узел Text с заданным значением.
getCompactFormat() Format Создает объект Format для вывода компактного XML-документа.
getNamespace(uri) Namespace Создает Namespace с заданным URI.
getNamespace(prefix, uri) Namespace Создает Namespace с заданным префиксом и URI.
getNoNamespace() Namespace Создает Namespace , представляющее отсутствие реального пространства имен.
getPrettyFormat() Format Создает объект Format для вывода удобочитаемого XML-документа.
getRawFormat() Format Создает объект Format для вывода необработанного XML-документа.
getXmlNamespace() Namespace Создает Namespace со стандартным префиксом xml .
parse(xml) Document Создает Document из заданного XML без проверки XML.