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 Изображение узла XML- Comment .
Content Представление типового XML-узла.
Content Type Перечисление, представляющее типы узлов содержимого XML.
Doc Type Представление узла Document Type .
Document Представление XML-документа.
Element Изображение узла XML- Element .
Entity Ref Представление узла Entity Reference .
Format Инструмент форматирования для вывода XML-документа, имеющий три предопределенных формата, которые можно дополнительно настроить.
Namespace Представление пространства имен XML.
Processing Instruction Изображение узла Processing Instruction XML.
Text Представление Text XML-узла.
Xml Service Этот сервис позволяет скриптам анализировать, перемещаться по документам и программно создавать XML-документы.

Attribute

Методы

Метод Тип возвращаемого значения Краткое описание
get Name() String Получает локальное имя атрибута.
get Namespace() Namespace |null Получает пространство имен для атрибута.
get Value() String Получает значение атрибута.
set Name(name) Attribute Задает локальное имя атрибута.
set Namespace(namespace) Attribute Задает пространство имен для атрибута.
set Value(value) Attribute Устанавливает значение атрибута.

Cdata

Методы

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

Comment

Методы

Метод Тип возвращаемого значения Краткое описание
detach() Content |null Отсоединяет узел от родительского узла Element .
get Parent Element() Element |null Получает родительский Element .
get Text() String Получает текстовое значение узла Comment .
get Value() String Получает текстовые значения всех узлов, являющихся прямыми или косвенными дочерними узлами данного узла, в том порядке, в котором они появляются в документе.
set Text(text) Comment Задает текстовое значение узла Comment .

Content

Методы

Метод Тип возвращаемого значения Краткое описание
as Cdata() Cdata |null Преобразует узел в узел CDATASection для целей автозаполнения.
as Comment() Comment |null Преобразует узел в узел Comment для целей автозаполнения.
as Doc Type() Doc Type |null Преобразует узел в узел Document Type для целей автозаполнения.
as Element() Element |null Преобразует узел в узел типа Element для целей автозаполнения.
as Entity Ref() Entity Ref |null Преобразует узел в узел " Entity Reference для целей автозаполнения.
as Processing Instruction() Processing Instruction |null Преобразует узел в узел Processing Instruction для целей автозаполнения.
as Text() Text |null Преобразует узел в Text узел для целей автозаполнения.
detach() Content |null Отсоединяет узел от родительского узла Element .
get Parent Element() Element |null Получает родительский Element .
get Type() Content Type Получает тип содержимого узла.
get Value() String Получает текстовые значения всех узлов, являющихся прямыми или косвенными дочерними узлами данного узла, в том порядке, в котором они появляются в документе.

Content Type

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

Свойство Тип Описание
CDATA Enum Узел XML CDATASection .
COMMENT Enum Узел XML Comment .
DOCTYPE Enum Узел Document Type .
ELEMENT Enum Узел XML- Element .
ENTITYREF Enum Узел Entity Reference .
PROCESSINGINSTRUCTION Enum Узел Processing Instruction XML.
TEXT Enum Text XML-узел.

Doc Type

Методы

Метод Тип возвращаемого значения Краткое описание
detach() Content |null Отсоединяет узел от родительского узла Element .
get Element Name() String Получает имя корневого узла Element , указанного в объявлении Doc Type .
get Internal Subset() String Получает внутренний набор данных для узла Document Type .
get Parent Element() Element |null Получает родительский Element .
get Public Id() String Получает публичный идентификатор внешнего подмножества данных для узла Document Type .
get System Id() String Получает системный идентификатор внешнего подмножества данных для узла Document Type .
get Value() String Получает текстовые значения всех узлов, являющихся прямыми или косвенными дочерними узлами данного узла, в том порядке, в котором они появляются в документе.
set Element Name(name) Doc Type Задает имя корневого узла Element , которое следует указать в объявлении Doc Type .
set Internal Subset(data) Doc Type Задает внутренние данные подмножества для узла Document Type .
set Public Id(id) Doc Type Задает публичный идентификатор внешнего подмножества данных для узла Document Type .
set System Id(id) Doc Type Задает системный идентификатор внешнего подмножества данных для узла Document Type .

Document

Методы

Метод Тип возвращаемого значения Краткое описание
add Content(content) Document Добавляет указанный узел в конец документа.
add Content(index, content) Document Вставляет заданный узел по заданному индексу среди всех узлов, являющихся непосредственными дочерними элементами документа.
clone Content() Content[] Создает неприкрепленные копии всех узлов, являющихся непосредственными дочерними элементами документа.
detach Root Element() Element |null Отсоединяет и возвращает корневой узел Element документа.
get All Content() Content[] Получает все узлы, являющиеся непосредственными дочерними элементами документа.
get Content(index) Content |null Получает узел с заданным индексом среди всех узлов, являющихся непосредственными дочерними элементами документа.
get Content Size() Integer Получает количество узлов, являющихся непосредственными дочерними элементами документа.
get Descendants() Content[] Получает все узлы, являющиеся прямыми или косвенными дочерними элементами документа, в том порядке, в котором они появляются в документе.
get Doc Type() Doc Type |null Получает объявление Doc Type ).
get Root Element() Element |null Получает корневой узел Element документа.
has Root Element() Boolean Определяет, имеет ли документ корневой узел Element .
remove Content() Content[] Удаляет все узлы, являющиеся непосредственными дочерними элементами документа.
remove Content(content) Boolean Удаляет указанный узел, если он является непосредственным дочерним элементом документа.
remove Content(index) Content |null Удаляет узел с заданным индексом среди всех узлов, являющихся непосредственными дочерними элементами документа.
set Doc Type(docType) Document Задает тип документа Doc Type ).
set Root Element(element) Document Задает корневой узел Element документа.

Element

Методы

Метод Тип возвращаемого значения Краткое описание
add Content(content) Element Добавляет указанный узел в качестве последнего дочернего элемента узла Element .
add Content(index, content) Element Вставляет заданный узел по заданному индексу среди всех узлов, являющихся непосредственными дочерними элементами узла Element .
clone Content() Content[] Создает неприкрепленные копии всех узлов, являющихся непосредственными дочерними элементами узла {@code Element}.
detach() Content |null Отсоединяет узел от родительского узла Element .
get All Content() Content[] Получает все узлы, являющиеся непосредственными дочерними элементами узла {@code Element}.
get Attribute(name) Attribute |null Получает атрибут для этого узла Element с заданным именем и без пространства имен.
get Attribute(name, namespace) Attribute |null Получает атрибут для данного узла Element с заданным именем и пространством имен.
get Attributes() Attribute[] Получает все атрибуты для данного узла Element в том порядке, в котором они указаны в документе.
get Child(name) Element |null Получает первый узел Element с заданным именем и без пространства имен, который является непосредственным дочерним узлом этого узла Element .
get Child(name, namespace) Element |null Получает первый узел Element с заданным именем и пространством имен, который является непосредственным дочерним элементом этого узла Element .
get Child Text(name) String|null Получает текстовое значение узла с заданным именем и без пространства имен, если узел является непосредственным дочерним элементом узла Element .
get Child Text(name, namespace) String|null Получает текстовое значение узла с заданным именем и пространством имен, если узел является непосредственным дочерним элементом узла Element .
get Children() Element[] Получает все узлы Element , являющиеся непосредственными дочерними элементами данного узла Element , в том порядке, в котором они расположены в документе.
get Children(name) Element[] Получает все узлы Element с заданным именем и без пространства имен, являющиеся непосредственными дочерними элементами этого узла Element , в том порядке, в котором они отображаются в документе.
get Children(name, namespace) Element[] Получает все узлы Element с заданным именем и пространством имен, являющиеся непосредственными дочерними элементами этого узла Element , в том порядке, в котором они расположены в документе.
get Content(index) Content |null Получает узел с заданным индексом среди всех узлов, являющихся непосредственными дочерними элементами узла {@code Element}.
get Content Size() Integer Получает количество узлов, являющихся непосредственными дочерними элементами узла {@code Element}.
get Descendants() Content[] Получает все узлы, являющиеся прямыми или косвенными дочерними элементами узла {@code Element}, в том порядке, в котором они отображаются в документе.
get Document() Document Получает XML-документ, содержащий узел {@code Element}.
get Name() String Получает локальное имя узла Element .
get Namespace() Namespace Получает пространство имен для узла Element .
get Namespace(prefix) Namespace Получает пространство имен с заданным префиксом для узла Element .
get Parent Element() Element |null Получает родительский Element .
get Qualified Name() String Получает локальное имя и префикс пространства имен узла Element в формате [namespacePrefix]:[localName] .
get Text() String Получает текстовое значение узла Element .
get Value() String Получает текстовые значения всех узлов, являющихся прямыми или косвенными дочерними узлами данного узла, в том порядке, в котором они появляются в документе.
is Ancestor Of(other) Boolean Определяет, является ли данный узел Element прямым или косвенным родителем данного узла Element .
is Root Element() Boolean Определяет, является ли узел Element корневым узлом документа.
remove Attribute(attribute) Boolean Удаляет указанный атрибут для данного узла Element , если такой атрибут существует.
remove Attribute(attributeName) Boolean Удаляет атрибут для данного узла Element с заданным именем и без пространства имен, если такой атрибут существует.
remove Attribute(attributeName, namespace) Boolean Удаляет атрибут для данного узла Element с заданным именем и пространством имен, если такой атрибут существует.
remove Content() Content[] Удаляет все узлы, являющиеся непосредственными дочерними элементами узла {@code Element}.
remove Content(content) Boolean Удаляет указанный узел, если он является непосредственным дочерним элементом узла {@code Element}.
remove Content(index) Content |null Удаляет узел с заданным индексом среди всех узлов, являющихся непосредственными дочерними элементами узла {@code Element}.
set Attribute(attribute) Element Устанавливает заданный атрибут для данного узла Element .
set Attribute(name, value) Element Устанавливает атрибут для этого узла Element с заданным именем, значением и без указания пространства имен.
set Attribute(name, value, namespace) Element Устанавливает атрибут для этого узла Element с заданным именем, значением и пространством имен.
set Name(name) Element Задает локальное имя узла Element .
set Namespace(namespace) Element Задает пространство имен для узла Element .
set Text(text) Element Задает текстовое значение узла Element .

Entity Ref

Методы

Метод Тип возвращаемого значения Краткое описание
detach() Content |null Отсоединяет узел от родительского узла Element .
get Name() String Получает имя узла Entity Reference .
get Parent Element() Element |null Получает родительский Element .
get Public Id() String|null Получает публичный идентификатор узла Entity Reference .
get System Id() String|null Получает системный идентификатор узла Entity Reference .
get Value() String Получает текстовые значения всех узлов, являющихся прямыми или косвенными дочерними узлами данного узла, в том порядке, в котором они появляются в документе.
set Name(name) Entity Ref Задает имя узла Entity Reference .
set Public Id(id) Entity Ref Задает публичный идентификатор узла Entity Reference .
set System Id(id) Entity Ref Устанавливает системный идентификатор узла Entity Reference .

Format

Методы

Метод Тип возвращаемого значения Краткое описание
format(document) String Выводит заданный Document в виде отформатированной строки.
format(element) String Выводит заданный узел Element в виде отформатированной строки.
set Encoding(encoding) Format Задает кодировку символов, которую должен использовать форматтер.
set Indent(indent) Format Задает строку, используемую для отступа дочерних узлов относительно их родительских узлов.
set Line Separator(separator) Format Задает строку, которая будет вставляться всякий раз, когда форматтер обычно вставляет перенос строки.
set Omit Declaration(omitDeclaration) Format Определяет, следует ли форматтеру опускать XML-декларацию, например <?xml version="1.0" encoding="UTF-8"?> .
set Omit Encoding(omitEncoding) Format Определяет, следует ли форматтеру опускать кодировку в XML-декларации, например, поле кодировки в <?xml version="1.0" encoding="UTF-8"?> .

Namespace

Методы

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

Processing Instruction

Методы

Метод Тип возвращаемого значения Краткое описание
detach() Content |null Отсоединяет узел от родительского узла Element .
get Data() String Получает исходные данные для каждой инструкции в узле Processing Instruction .
get Parent Element() Element |null Получает родительский Element .
get Target() String Получает целевое значение для узла Processing Instruction .
get Value() String Получает текстовые значения всех узлов, являющихся прямыми или косвенными дочерними узлами данного узла, в том порядке, в котором они появляются в документе.

Text

Методы

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

Xml Service

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

Свойство Тип Описание
Content Types Content Type Перечисление, представляющее типы узлов содержимого XML.

Методы

Метод Тип возвращаемого значения Краткое описание
create Cdata(text) Cdata Создает неприкрепленный узел CDATASection с заданным значением.
create Comment(text) Comment Создает неприкрепленный узел Comment с заданным значением.
create Doc Type(elementName) Doc Type Создает неприкрепленный узел Document Type для корневого узла Element с заданным именем.
create Doc Type(elementName, systemId) Doc Type Создает неприкрепленный узел Document Type для корневого узла Element с заданным именем и заданным системным идентификатором для данных внешнего подмножества.
create Doc Type(elementName, publicId, systemId) Doc Type Создает неприкрепленный узел Document Type для корневого узла Element с заданным именем, а также заданными публичным идентификатором и системным идентификатором для внешнего подмножества данных.
create Document() Document Создает пустой XML-документ.
create Document(rootElement) Document Создает XML-документ с заданным корневым узлом Element .
create Element(name) Element Создает неприкрепленный узел Element с заданным локальным именем и без пространства имен.
create Element(name, namespace) Element Создает неприкрепленный узел Element с заданным локальным именем и пространством имен.
create Text(text) Text Создает неприкрепленный Text узел с заданным значением.
get Compact Format() Format Создает объект Format для вывода компактного XML-документа.
get Namespace(uri) Namespace Создает Namespace с заданным URI.
get Namespace(prefix, uri) Namespace Создает Namespace с заданным префиксом и URI.
get No Namespace() Namespace Создаёт Namespace , которое отражает отсутствие реального пространства имён.
get Pretty Format() Format Создает объект Format для вывода удобочитаемого XML-документа.
get Raw Format() Format Создает объект Format для вывода необработанного XML-документа.
get Xml Namespace() Namespace Создает Namespace со стандартным xml префиксом.
parse(xml) Document Создает Document на основе заданного XML-кода без проверки его корректности.