借助此服务,脚本可以解析、浏览和以程序化方式创建 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 | 表示 XML 内容节点类型的枚举。 | 
| Doc | XML Document节点的表示形式。 | 
| Document | XML 文档的表示形式。 | 
| Element | XML Element节点的表示形式。 | 
| Entity | XML Entity节点的表示形式。 | 
| Format | 用于输出 XML 文档的格式设置程序,其中包含三种可进一步自定义的预定义格式。 | 
| Namespace | XML 命名空间的表示法。 | 
| Processing | XML Processing节点的表示形式。 | 
| Text | XML Text节点的表示形式。 | 
| Xml | 借助此服务,脚本可以解析、浏览和以程序化方式创建 XML 文档。 | 
Attribute
方法
| 方法 | 返回类型 | 简介 | 
|---|---|---|
| get | String | 获取属性的本地名称。 | 
| get | Namespace | 获取属性的命名空间。 | 
| get | String | 获取属性的值。 | 
| set | Attribute | 设置属性的本地名称。 | 
| set | Attribute | 设置属性的命名空间。 | 
| set | Attribute | 设置属性的值。 | 
Cdata
方法
| 方法 | 返回类型 | 简介 | 
|---|---|---|
| append(text) | Text | 将给定文本附加到节点中已存在的任何内容。 | 
| detach() | Content | 将节点从其父级 Element节点分离。 | 
| get | Element | 获取节点的父 Element节点。 | 
| get | String | 获取 Text节点的文本值。 | 
| get | String | 获取节点的直接或间接子节点的所有文本值,按文档中显示的顺序。 | 
| set | Text | 设置 Text节点的文本值。 | 
Comment
方法
| 方法 | 返回类型 | 简介 | 
|---|---|---|
| detach() | Content | 将节点从其父级 Element节点分离。 | 
| get | Element | 获取节点的父 Element节点。 | 
| get | String | 获取 Comment节点的文本值。 | 
| get | String | 获取节点的直接或间接子节点的所有文本值,按文档中显示的顺序。 | 
| set | Comment | 设置 Comment节点的文本值。 | 
Content
方法
| 方法 | 返回类型 | 简介 | 
|---|---|---|
| as | Cdata | 将节点投射为 CDATASection节点,以便自动补全。 | 
| as | Comment | 将节点投射为 Comment节点,以便自动补全。 | 
| as | Doc | 将节点投射为 Document节点,以便自动补全。 | 
| as | Element | 将节点投射为 Element节点,以便自动补全。 | 
| as | Entity | 将节点投射为 Entity节点,以便自动补全。 | 
| as | Processing | 将节点投射为 Processing节点,以便自动补全。 | 
| as | Text | 将节点投射为 Text节点,以便自动补全。 | 
| detach() | Content | 将节点从其父级 Element节点分离。 | 
| get | Element | 获取节点的父 Element节点。 | 
| get | Content | 获取节点的内容类型。 | 
| get | String | 获取节点的直接或间接子节点的所有文本值,按文档中显示的顺序。 | 
Content
属性
| 属性 | 类型 | 说明 | 
|---|---|---|
| CDATA | Enum | XML CDATASection节点。 | 
| COMMENT | Enum | XML Comment节点。 | 
| DOCTYPE | Enum | XML Document节点。 | 
| ELEMENT | Enum | XML Element节点。 | 
| ENTITYREF | Enum | XML Entity节点。 | 
| PROCESSINGINSTRUCTION | Enum | XML Processing节点。 | 
| TEXT | Enum | XML Text节点。 | 
Doc
方法
| 方法 | 返回类型 | 简介 | 
|---|---|---|
| detach() | Content | 将节点从其父级 Element节点分离。 | 
| get | String | 获取 Doc声明中指定的根Element节点的名称。 | 
| get | String | 获取 Document节点的内部子集数据。 | 
| get | Element | 获取节点的父 Element节点。 | 
| get | String | 获取 Document节点的外部子集数据的公共 ID。 | 
| get | String | 获取 Document节点的外部子集数据的系统 ID。 | 
| get | String | 获取节点的直接或间接子节点的所有文本值,按文档中显示的顺序。 | 
| set | Doc | 设置要在 Doc声明中指定的根Element节点的名称。 | 
| set | Doc | 设置 Document节点的内部子集数据。 | 
| set | Doc | 为 Document节点设置外部子集数据的公共 ID。 | 
| set | Doc | 设置 Document节点的外部子集数据的系统 ID。 | 
Document
方法
| 方法 | 返回类型 | 简介 | 
|---|---|---|
| add | Document | 将指定节点附加到文档末尾。 | 
| add | Document | 在文档的所有直接子节点中,将给定节点插入给定索引。 | 
| clone | Content[] | 为文档的所有直接子节点创建未附加的副本。 | 
| detach | Element | 分离并返回文档的根 Element节点。 | 
| get | Content[] | 获取文档的直接子级的所有节点。 | 
| get | Content | 从文档的所有直接子节点中获取给定索引对应的节点。 | 
| get | Integer | 获取文档的直接子节点的数量。 | 
| get | Content[] | 获取文档的直接或间接子节点,按文档中显示的顺序。 | 
| get | Doc | 获取文档的 Doc声明。 | 
| get | Element | 获取文档的根 Element节点。 | 
| has | Boolean | 确定文档是否具有根 Element节点。 | 
| remove | Content[] | 移除文档的所有直接子节点。 | 
| remove | Boolean | 如果给定节点是文档的直接子节点,则移除该节点。 | 
| remove | Content | 从文档的所有直接子节点中移除给定索引对应的节点。 | 
| set | Document | 设置文档的 Doc声明。 | 
| set | Document | 设置文档的根 Element节点。 | 
Element
方法
| 方法 | 返回类型 | 简介 | 
|---|---|---|
| add | Element | 将指定节点附加为 Element节点的最后一个子节点。 | 
| add | Element | 在 Element节点的所有直接子节点中,将给定节点插入给定索引。 | 
| clone | Content[] | 为 {@code Element} 节点的所有直接子节点创建未附加的副本。 | 
| detach() | Content | 将节点从其父级 Element节点分离。 | 
| get | Content[] | 获取 {@code Element} 节点的所有直接子节点。 | 
| get | Attribute | 获取具有给定名称且无命名空间的此 Element节点的属性。 | 
| get | Attribute | 获取具有给定名称和命名空间的此 Element节点的属性。 | 
| get | Attribute[] | 按文档中显示的顺序获取此 Element节点的所有属性。 | 
| get | Element | 获取具有给定名称且没有命名空间且是此 Element节点的直接子项的第一个Element节点。 | 
| get | Element | 获取具有给定名称和命名空间且是此 Element节点的直接子项的第一个Element节点。 | 
| get | String | 如果节点是 Element节点的直接子节点,则获取具有给定名称且没有命名空间的节点的文本值。 | 
| get | String | 如果节点是 Element节点的直接子节点,则获取具有给定名称和命名空间的节点的文本值。 | 
| get | Element[] | 获取此 Element节点的所有直接子Element节点,按文档中显示的顺序。 | 
| get | Element[] | 获取具有给定名称且没有命名空间且是此 Element节点的直接子级的所有Element节点,按文档中显示的顺序。 | 
| get | Element[] | 获取具有给定名称和命名空间且是此 Element节点的直接子级的所有Element节点,按文档中显示的顺序。 | 
| get | Content | 从 {@code Element} 节点的所有直接子节点中获取给定索引对应的节点。 | 
| get | Integer | 获取 {@code Element} 节点的直接子节点的数量。 | 
| get | Content[] | 按文档中显示的顺序获取 {@code Element} 节点的直接或间接子节点的所有节点。 | 
| get | Document | 获取包含 {@code Element} 节点的 XML 文档。 | 
| get | String | 获取 Element节点的本地名称。 | 
| get | Namespace | 获取 Element节点的命名空间。 | 
| get | Namespace | 获取具有给定前缀的 Element节点命名空间。 | 
| get | Element | 获取节点的父 Element节点。 | 
| get | String | 获取 Element节点的本地名称和命名空间前缀,格式为[namespacePrefix]:[localName]。 | 
| get | String | 获取 Element节点的文本值。 | 
| get | String | 获取节点的直接或间接子节点的所有文本值,按文档中显示的顺序。 | 
| is | Boolean | 确定此 Element节点是给定Element节点的直接父级还是间接父级。 | 
| is | Boolean | 确定 Element节点是否为文档的根节点。 | 
| remove | Boolean | 移除此 Element节点的指定属性(如果存在)。 | 
| remove | Boolean | 移除此 Element节点具有给定名称且没有命名空间的属性(如果存在)。 | 
| remove | Boolean | 移除此 Element节点具有给定名称和命名空间的属性(如果存在)。 | 
| remove | Content[] | 移除 {@code Element} 节点的所有直接子节点。 | 
| remove | Boolean | 如果给定节点是 {@code Element} 节点的直接子节点,则移除该节点。 | 
| remove | Content | 从 {@code Element} 节点的所有直接子节点中移除指定编号的节点。 | 
| set | Element | 为此 Element节点设置给定属性。 | 
| set | Element | 使用给定名称、值和无命名空间为此 Element节点设置属性。 | 
| set | Element | 使用给定的名称、值和命名空间为此 Element节点设置属性。 | 
| set | Element | 设置 Element节点的本地名称。 | 
| set | Element | 设置 Element节点的命名空间。 | 
| set | Element | 设置 Element节点的文本值。 | 
Entity
方法
| 方法 | 返回类型 | 简介 | 
|---|---|---|
| detach() | Content | 将节点从其父级 Element节点分离。 | 
| get | String | 获取 Entity节点的名称。 | 
| get | Element | 获取节点的父 Element节点。 | 
| get | String | 获取 Entity节点的公开 ID。 | 
| get | String | 获取 Entity节点的系统 ID。 | 
| get | String | 获取节点的直接或间接子节点的所有文本值,按文档中显示的顺序。 | 
| set | Entity | 设置 Entity节点的名称。 | 
| set | Entity | 设置 Entity节点的公开 ID。 | 
| set | Entity | 设置 Entity节点的系统 ID。 | 
Format
方法
| 方法 | 返回类型 | 简介 | 
|---|---|---|
| format(document) | String | 以格式化字符串的形式输出给定的 Document。 | 
| format(element) | String | 将指定的 Element节点输出为格式化字符串。 | 
| set | Format | 设置格式化程序应使用的字符编码。 | 
| set | Format | 设置用于相对于父节点缩进子节点的字符串。 | 
| set | Format | 设置在格式化程序通常会插入换行符时要插入的字符串。 | 
| set | Format | 设置格式化程序是否应省略 XML 声明,例如 <?xml version="1.0"
encoding="UTF-8"?>。 | 
| set | Format | 设置格式化程序是否应忽略 XML 声明中的编码,例如 <?xml version="1.0" encoding="UTF-8"?>中的编码字段。 | 
Namespace
方法
| 方法 | 返回类型 | 简介 | 
|---|---|---|
| get | String | 获取命名空间的前缀。 | 
| get | String | 获取命名空间的 URI。 | 
Processing
方法
| 方法 | 返回类型 | 简介 | 
|---|---|---|
| detach() | Content | 将节点从其父级 Element节点分离。 | 
| get | String | 获取 Processing节点中的每个指令的原始数据。 | 
| get | Element | 获取节点的父 Element节点。 | 
| get | String | 获取 Processing节点的目标。 | 
| get | String | 获取节点的直接或间接子节点的所有文本值,按文档中显示的顺序。 | 
Text
方法
| 方法 | 返回类型 | 简介 | 
|---|---|---|
| append(text) | Text | 将给定文本附加到节点中已存在的任何内容。 | 
| detach() | Content | 将节点从其父级 Element节点分离。 | 
| get | Element | 获取节点的父 Element节点。 | 
| get | String | 获取 Text节点的文本值。 | 
| get | String | 获取节点的直接或间接子节点的所有文本值,按文档中显示的顺序。 | 
| set | Text | 设置 Text节点的文本值。 | 
Xml
属性
| 属性 | 类型 | 说明 | 
|---|---|---|
| Content | Content | 表示 XML 内容节点类型的枚举。 |