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

Attribute

Методы

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

Cdata

Методы

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

Comment

Методы

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

Content

Методы

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

Content Type

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

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

Doc Type

Методы

Метод Тип возврата Краткое описание
detach() Content Отсоединяет узел от его родительского узла Element .
get Element Name() String Получает имя корневого узла Element указанное в объявлении Doc Type .
get Internal Subset() String Получает внутренние данные подмножества для узла Document Type .
get Parent Element() Element Получает родительский узел 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 Отключает и возвращает корневой узел Element документа.
get All Content() Content[] Получает все узлы, являющиеся непосредственными дочерними элементами документа.
get Content(index) Content Получает узел по заданному индексу среди всех узлов, которые являются непосредственными дочерними элементами документа.
get Content Size() Integer Получает количество узлов, которые являются непосредственными дочерними элементами документа.
get Descendants() Content[] Получает все узлы, являющиеся прямыми или косвенными дочерними элементами документа, в том порядке, в котором они появляются в документе.
get Doc Type() Doc Type Получает объявление Doc Type документа.
get Root Element() Element Получает корневой узел Element документа.
has Root Element() Boolean Определяет, имеет ли документ корневой узел Element .
remove Content() Content[] Удаляет все узлы, которые являются непосредственными дочерними элементами документа.
remove Content(content) Boolean Удаляет данный узел, если узел является непосредственным дочерним элементом документа.
remove Content(index) Content Удаляет узел по заданному индексу среди всех узлов, которые являются непосредственными дочерними элементами документа.
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 Отсоединяет узел от его родительского узла Element .
get All Content() Content[] Получает все узлы, которые являются непосредственными дочерними элементами узла {@code Element}.
get Attribute(name) Attribute Получает атрибут для этого узла Element с заданным именем и без пространства имен.
get Attribute(name, namespace) Attribute Получает атрибут для этого узла Element с заданным именем и пространством имен.
get Attributes() Attribute[] Получает все атрибуты для этого узла Element в том порядке, в котором они появляются в документе.
get Child(name) Element Получает первый узел Element с заданным именем и без пространства имен, который является непосредственным дочерним элементом этого узла Element .
get Child(name, namespace) Element Получает первый узел Element с заданным именем и пространством имен, который является непосредственным дочерним элементом этого узла Element .
get Child Text(name) String Получает текстовое значение узла с заданным именем и без пространства имен, если узел является непосредственным дочерним элементом узла Element .
get Child Text(name, namespace) String Получает текстовое значение узла с заданным именем и пространством имен, если узел является непосредственным дочерним элементом узла Element .
get Children() Element[] Получает все узлы Element , которые являются непосредственными дочерними элементами этого узла Element , в том порядке, в котором они появляются в документе.
get Children(name) Element[] Получает все узлы Element с заданным именем и без пространства имен, которые являются непосредственными дочерними элементами этого узла Element , в том порядке, в котором они появляются в документе.
get Children(name, namespace) Element[] Получает все узлы Element с заданным именем и пространством имен, которые являются непосредственными дочерними элементами этого узла Element , в том порядке, в котором они появляются в документе.
get Content(index) Content Получает узел по заданному индексу среди всех узлов, которые являются непосредственными дочерними элементами узла {@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 Получает родительский узел 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 Удаляет узел по заданному индексу среди всех узлов, которые являются непосредственными дочерними элементами узла {@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 Отсоединяет узел от его родительского узла Element .
get Name() String Получает имя узла Entity Reference .
get Parent Element() Element Получает родительский узел Element узла.
get Public Id() String Получает общедоступный идентификатор узла Entity Reference .
get System Id() String Получает системный идентификатор узла 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 Отсоединяет узел от его родительского узла Element .
get Data() String Получает необработанные данные для каждой инструкции в узле Processing Instruction .
get Parent Element() Element Получает родительский узел Element узла.
get Target() String Получает цель для узла Processing Instruction .
get Value() String Получает текстовое значение всех узлов, которые являются прямыми или косвенными дочерними элементами узла, в том порядке, в котором они появляются в документе.

Text

Методы

Метод Тип возврата Краткое описание
append(text) Text Добавляет заданный текст к любому содержимому, которое уже существует в узле.
detach() Content Отсоединяет узел от его родительского узла Element .
get Parent Element() Element Получает родительский узел 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 без проверки XML.