Class XmlService

XmlService

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

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

  var entries = root.getChildren('entry', atom);
  for (var i = 0; i < entries.length; i++) {
    var title = entries[i].getChild('title', atom).getText();
    var categoryElements = entries[i].getChildren('category', atom);
    var labels = [];
    for (var 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() {
  var root = XmlService.createElement('threads');
  var threads = GmailApp.getInboxThreads();
  for (var i = 0; i < threads.length; i++) {
    var child = XmlService.createElement('thread')
        .setAttribute('messageCount', threads[i].getMessageCount())
        .setAttribute('isUnread', threads[i].isUnread())
        .setText(threads[i].getFirstMessageSubject());
    root.addContent(child);
  }
  var document = XmlService.createDocument(root);
  var xml = XmlService.getPrettyFormat().format(document);
  Logger.log(xml);
}

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

Свойство Тип Описание
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.

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

createCdata(text)

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

Параметры

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

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

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


createComment(text)

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

Параметры

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

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

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


createDocType(elementName)

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

Параметры

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

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

DocType — вновь созданный узел DocumentType .


createDocType(elementName, systemId)

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

Параметры

Имя Тип Описание
elementName String имя корневого узла Element , которое необходимо указать в объявлении DocType
systemId String системный идентификатор внешнего подмножества данных для установки

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

DocType — вновь созданный узел DocumentType .


createDocType(elementName, publicId, systemId)

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

Параметры

Имя Тип Описание
elementName String имя корневого узла Element , которое необходимо указать в объявлении DocType
publicId String общедоступный идентификатор внешних данных подмножества для установки
systemId String системный идентификатор внешнего подмножества данных для установки

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

DocType — вновь созданный узел DocumentType .


createDocument()

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

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

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


createDocument(rootElement)

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

Параметры

Имя Тип Описание
rootElement Element корневой узел Element для установки

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

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


createElement(name)

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

Параметры

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

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

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


createElement(name, namespace)

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

Параметры

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

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

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


createText(text)

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

Параметры

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

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

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


getCompactFormat()

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

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

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

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


getNamespace(uri)

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

Параметры

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

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

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


getNamespace(prefix, uri)

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

Параметры

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

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

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


getNoNamespace()

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

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

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


getPrettyFormat()

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

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

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

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


getRawFormat()

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

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

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

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


getXmlNamespace()

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

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

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


parse(xml)

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

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

Параметры

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

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

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