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.