此服务让脚本能够解析、导航和以编程方式创建 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)
createComment(text)
createDocType(elementName)
为具有给定名称的根 Element
节点创建一个未连接的 DocumentType
节点。
参数
名称 | 类型 | 说明 |
---|---|---|
elementName | String | 要在 DocType 声明中指定的根 Element 节点的名称 |
弃踢回攻
DocType
- 新创建的 DocumentType
节点
createDocType(elementName, systemId)
为具有给定名称的根 Element
节点和外部子集数据创建给定系统 ID 的未连接 DocumentType
节点。
参数
名称 | 类型 | 说明 |
---|---|---|
elementName | String | 要在 DocType 声明中指定的根 Element 节点的名称 |
systemId | String | 要设置的外部子集数据的系统 ID |
弃踢回攻
DocType
- 新创建的 DocumentType
节点
createDocType(elementName, publicId, systemId)
为具有给定名称的根 Element
节点创建一个未关联的 DocumentType
节点,并为外部子集数据创建给定的公共 ID 和系统 ID。
参数
名称 | 类型 | 说明 |
---|---|---|
elementName | String | 要在 DocType 声明中指定的根 Element 节点的名称 |
publicId | String | 要设置的外部子集数据的公开 ID |
systemId | String | 要设置的外部子集数据的系统 ID |
弃踢回攻
DocType
- 新创建的 DocumentType
节点
createDocument()
createDocument(rootElement)
createElement(name)
createElement(name, namespace)
getCompactFormat()
创建用于输出紧凑 XML 文档的 Format
对象。格式化程序默认采用 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(prefix, uri)
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()
创建用于输出原始 XML 文档的 Format
对象。格式化程序默认采用 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
- 新创建的格式设置工具