Class XmlService

XML-сервис

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

// Log the title and labels for the first page of blog posts on the
// Google Workspace Developer blog.
function parseXml() {
  const url = 'https://gsuite-developers.googleblog.com/atom.xml';
  const xml = UrlFetchApp.fetch(url).getContentText();
  const document = XmlService.parse(xml);
  const root = document.getRootElement();
  const atom = XmlService.getNamespace('http://www.w3.org/2005/Atom');

  const entries = root.getChildren('entry', atom);
  for (let i = 0; i < entries.length; i++) {
    const title = entries[i].getChild('title', atom).getText();
    const categoryElements = entries[i].getChildren('category', atom);
    const labels = [];
    for (let j = 0; j < categoryElements.length; j++) {
      labels.push(categoryElements[j].getAttribute('term').getValue());
    }
    Logger.log('%s (%s)', title, labels.join(', '));
  }
}

// Create and log an XML representation of the threads in your Gmail inbox.
function createXml() {
  const root = XmlService.createElement('threads');
  const threads = GmailApp.getInboxThreads();
  for (let i = 0; i < threads.length; i++) {
    const child =
        XmlService.createElement('thread')
            .setAttribute('messageCount', threads[i].getMessageCount())
            .setAttribute('isUnread', threads[i].isUnread())
            .setText(threads[i].getFirstMessageSubject());
    root.addContent(child);
  }
  const document = XmlService.createDocument(root);
  const xml = XmlService.getPrettyFormat().format(document);
  Logger.log(xml);
}

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

Свойство Тип Описание
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-кода без проверки его корректности.

Подробная документация

create Cdata(text)

Создает неприкрепленный узел CDATASection с заданным значением.

Параметры

Имя Тип Описание
text String Значение, которое нужно установить.

Возвращаться

Cdata — Вновь созданный узел CDATASection .


create Comment(text)

Создает неприкрепленный узел Comment с заданным значением.

Параметры

Имя Тип Описание
text String Значение, которое нужно установить.

Возвращаться

Comment — Вновь созданный узел Comment .


create Doc Type(elementName)

Создает неприкрепленный узел Document Type для корневого узла Element с заданным именем.

Параметры

Имя Тип Описание
element Name String Имя корневого узла Element , которое необходимо указать в объявлении Doc Type .

Возвращаться

Doc Type — Вновь созданный узел Document Type .


create Doc Type(elementName, systemId)

Создает неприкрепленный узел Document Type для корневого узла Element с заданным именем и заданным системным идентификатором для данных внешнего подмножества.

Параметры

Имя Тип Описание
element Name String Имя корневого узла Element , которое необходимо указать в объявлении Doc Type .
system Id String Системный идентификатор внешнего подмножества данных для установки.

Возвращаться

Doc Type — Вновь созданный узел Document Type .


create Doc Type(elementName, publicId, systemId)

Создает неприкрепленный узел Document Type для корневого узла Element с заданным именем, а также заданными публичным идентификатором и системным идентификатором для внешнего подмножества данных.

Параметры

Имя Тип Описание
element Name String Имя корневого узла Element , которое необходимо указать в объявлении Doc Type .
public Id String Публичный идентификатор внешнего подмножества данных, которое необходимо установить.
system Id String Системный идентификатор внешнего подмножества данных для установки.

Возвращаться

Doc Type — Вновь созданный узел Document Type .


create Document()

Создает пустой XML-документ.

Возвращаться

Document — Вновь созданный документ.


create Document(rootElement)

Создает XML-документ с заданным корневым узлом Element .

Параметры

Имя Тип Описание
root Element Element Корневой узел Element , который необходимо задать.

Возвращаться

Document — Вновь созданный документ.


create Element(name)

Создает неприкрепленный узел Element с заданным локальным именем и без пространства имен.

Параметры

Имя Тип Описание
name String Локальное имя для установки.

Возвращаться

Element — Вновь созданный узел Element .


create Element(name, namespace)

Создает неприкрепленный узел Element с заданным локальным именем и пространством имен.

Параметры

Имя Тип Описание
name String Локальное имя для установки.
namespace Namespace Пространство имён для установки.

Возвращаться

Element — Вновь созданный узел Element .


create Text(text)

Создает неприкрепленный Text узел с заданным значением.

Параметры

Имя Тип Описание
text String Значение, которое нужно установить.

Возвращаться

Text — Вновь созданный Text узел.


get Compact Format()

Создает объект Format для вывода компактного XML-документа. По умолчанию используется кодировка UTF-8 , без отступов и дополнительных переносов строк, но включается XML-декларация и ее кодировка.

// Log an XML document in compact form.
const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const document = XmlService.parse(xml);
const output = XmlService.getCompactFormat().format(document);
Logger.log(output);

Возвращаться

Format — недавно созданный инструмент форматирования.


get Namespace(uri)

Создает Namespace с заданным URI.

Параметры

Имя Тип Описание
uri String URI пространства имен.

Возвращаться

Namespace — Вновь созданное пространство имён.


get Namespace(prefix, uri)

Создает Namespace с заданным префиксом и URI.

Параметры

Имя Тип Описание
prefix String Префикс для пространства имен.
uri String URI пространства имен.

Возвращаться

Namespace — Вновь созданное пространство имён.


get No Namespace()

Создаёт Namespace , которое отражает отсутствие реального пространства имён.

Возвращаться

Namespace — Вновь созданное пространство имён.


get Pretty Format()

Создает объект Format для вывода удобочитаемого XML-документа. Форматировщик по умолчанию использует кодировку UTF-8 , двухпробелный отступ, разделители строк \r\n после каждого узла и включает в себя XML-декларацию и ее кодировку.

// Log an XML document in human-readable form.
const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const document = XmlService.parse(xml);
const output = XmlService.getPrettyFormat().format(document);
Logger.log(output);

Возвращаться

Format — недавно созданный инструмент форматирования.


get Raw Format()

Создает объект Format для вывода необработанного XML-документа. Форматировщик по умолчанию использует кодировку UTF-8 , не использует отступы и переносы строк, кроме тех, которые указаны в самом XML-документе, и включает в себя XML-декларацию и ее кодировку.

// Log an XML document in raw form.
const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const document = XmlService.parse(xml);
const output = XmlService.getRawFormat().format(document);
Logger.log(output);

Возвращаться

Format — недавно созданный инструмент форматирования.


get Xml Namespace()

Создает Namespace со стандартным xml префиксом.

Возвращаться

Namespace — Вновь созданное пространство имён.


parse(xml)

Создает Document на основе заданного XML-кода без проверки его корректности.

const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const doc = XmlService.parse(xml);

Параметры

Имя Тип Описание
xml String XML-данные для анализа.

Возвращаться

Document — Вновь созданный документ.