Этот сервис позволяет скриптам анализировать, перемещаться по документам и программно создавать 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)
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()
create Document(rootElement)
create Element(name)
create Element(name, namespace)
create 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)
get Namespace(prefix, uri)
get No 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 — недавно созданный инструмент форматирования.