這項服務可讓指令碼剖析、瀏覽並以程式輔助方式建立 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 節點的表示法。 |
ContentType | 代表 XML 內容節點類型的列舉。 |
DocType | XML DocumentType 節點的表示法。 |
Document | XML 文件的表示法。 |
Element | XML Element 節點的表示法。 |
EntityRef | XML EntityReference 節點的表示法。 |
Format | 用於輸出 XML 文件的格式設定工具,包含三種預先定義的格式 |
Namespace | XML 命名空間的表示法。 |
ProcessingInstruction | XML ProcessingInstruction 節點的表示法。 |
Text | XML Text 節點的表示法。 |
XmlService | 這項服務可讓指令碼剖析、導覽,並以程式輔助方式建立 XML 文件。 |
Attribute
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
getName() | String | 取得屬性的當地名稱。 |
getNamespace() | Namespace | 取得屬性的命名空間。 |
getValue() | String | 取得屬性的值。 |
setName(name) | Attribute | 設定屬性的本地名稱。 |
setNamespace(namespace) | Attribute | 設定屬性的命名空間。 |
setValue(value) | Attribute | 設定屬性的值。 |
Cdata
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
append(text) | Text | 將指定文字附加至節點中已存在的內容。 |
detach() | Content | 將節點從父項 Element 節點卸離。 |
getParentElement() | Element | 取得節點的父項 Element 節點。 |
getText() | String | 取得 Text 節點的文字值。 |
getValue() | String | 依序取得節點直接或間接子項的所有節點文字值 這些標誌會出現在文件中 |
setText(text) | Text | 設定 Text 節點的文字值。 |
Comment
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
detach() | Content | 將節點從父項 Element 節點卸離。 |
getParentElement() | Element | 取得節點的父項 Element 節點。 |
getText() | String | 取得 Comment 節點的文字值。 |
getValue() | String | 依序取得節點直接或間接子項的所有節點文字值 這些標誌會出現在文件中 |
setText(text) | Comment | 設定 Comment 節點的文字值。 |
Content
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
asCdata() | Cdata | 將節點轉換為 CDATASection 節點,用於自動完成功能。 |
asComment() | Comment | 將節點轉換為 Comment 節點,用於自動完成功能。 |
asDocType() | DocType | 將節點轉換為 DocumentType 節點,用於自動完成功能。 |
asElement() | Element | 將節點轉換為 Element 節點,用於自動完成功能。 |
asEntityRef() | EntityRef | 將節點轉換為 EntityReference 節點,用於自動完成功能。 |
asProcessingInstruction() | ProcessingInstruction | 將節點轉換為 ProcessingInstruction 節點,用於自動完成功能。 |
asText() | Text | 將節點轉換為 Text 節點,用於自動完成功能。 |
detach() | Content | 將節點從父項 Element 節點卸離。 |
getParentElement() | Element | 取得節點的父項 Element 節點。 |
getType() | ContentType | 取得節點的內容類型。 |
getValue() | String | 依序取得節點直接或間接子項的所有節點文字值 這些標誌會出現在文件中 |
ContentType
屬性
屬性 | 類型 | 說明 |
---|---|---|
CDATA | Enum | XML CDATASection 節點。 |
COMMENT | Enum | XML Comment 節點。 |
DOCTYPE | Enum | XML DocumentType 節點。 |
ELEMENT | Enum | XML Element 節點。 |
ENTITYREF | Enum | XML EntityReference 節點。 |
PROCESSINGINSTRUCTION | Enum | XML ProcessingInstruction 節點。 |
TEXT | Enum | XML Text 節點。 |
DocType
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
detach() | Content | 將節點從父項 Element 節點卸離。 |
getElementName() | String | 取得 DocType 宣告中指定的根 Element 節點名稱。 |
getInternalSubset() | String | 取得 DocumentType 節點的內部子集資料。 |
getParentElement() | Element | 取得節點的父項 Element 節點。 |
getPublicId() | String | 取得 DocumentType 節點外部子集資料的公開 ID。 |
getSystemId() | String | 取得 DocumentType 節點外部子集資料的系統 ID。 |
getValue() | String | 依序取得節點直接或間接子項的所有節點文字值 這些標誌會出現在文件中 |
setElementName(name) | DocType | 設定要在 DocType 中指定的根 Element 節點名稱
宣告內容 |
setInternalSubset(data) | DocType | 設定 DocumentType 節點的內部子集資料。 |
setPublicId(id) | DocType | 設定 DocumentType 節點外部子集資料的公開 ID。 |
setSystemId(id) | DocType | 設定 DocumentType 節點外部子集資料的系統 ID。 |
Document
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
addContent(content) | Document | 將指定的節點附加至文件結尾。 |
addContent(index, content) | Document | 在指定的索引插入指定節點,位於 文件。 |
cloneContent() | Content[] | 為所有文件直系子項建立未連接的複本。 |
detachRootElement() | Element | 卸離並傳回文件的根層級 Element 節點。 |
getAllContent() | Content[] | 取得文件直屬子項的所有節點。 |
getContent(index) | Content | 取得位於指定索引的節點,位於 文件。 |
getContentSize() | Integer | 取得文件直屬子項的節點數量。 |
getDescendants() | Content[] | 依項目順序,取得文件直接或間接子項的所有節點 。 |
getDocType() | DocType | 取得文件的 DocType 宣告。 |
getRootElement() | Element | 取得文件的根層級 Element 節點。 |
hasRootElement() | Boolean | 判斷文件是否具有根層級 Element 節點。 |
removeContent() | Content[] | 移除文件直屬子項的所有節點。 |
removeContent(content) | Boolean | 如果節點是文件的直屬子項,則移除指定節點。 |
removeContent(index) | Content | 從指定索引的所有節點中移除 文件。 |
setDocType(docType) | Document | 設定文件的 DocType 宣告。 |
setRootElement(element) | Document | 設定文件的根層級 Element 節點。 |
Element
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
addContent(content) | Element | 附加指定節點做為 Element 節點的最後子項。 |
addContent(index, content) | Element | 在指定的索引插入指定節點,位於
Element 個節點。 |
cloneContent() | Content[] | 為所有屬於 {@code Element} 節點子項的所有節點建立未連接的副本。 |
detach() | Content | 將節點從父項 Element 節點卸離。 |
getAllContent() | Content[] | 取得屬於 {@code Element} 節點直屬子項的所有節點。 |
getAttribute(name) | Attribute | 取得這個 Element 節點的屬性 (具有指定名稱),且不含命名空間。 |
getAttribute(name, namespace) | Attribute | 取得這個 Element 節點的屬性,其中包含指定的名稱和命名空間。 |
getAttributes() | Attribute[] | 取得這個 Element 節點的所有屬性,屬性在文件中顯示的順序。 |
getChild(name) | Element | 取得第一個Element 具有指定名稱且沒有立即可用的命名空間
此 Element 節點的子項。 |
getChild(name, namespace) | Element | 取得第一個具有指定名稱和命名空間的 Element 節點,但會立即
此 Element 節點的子項。 |
getChildText(name) | String | 取得具有指定名稱且不含命名空間的節點文字值 (如果節點是
Element 節點的即時子項。 |
getChildText(name, namespace) | String | 取得具有指定名稱和命名空間的節點文字值 (如果節點為即時節點)
Element 節點的子項。 |
getChildren() | Element[] | 取得位於 Element 節點中此 Element 節點直系子項的所有 Element 節點
排列順序。 |
getChildren(name) | Element[] | 取得具有指定名稱且不含直系子項的所有 Element 節點
這個 Element 節點,依照在文件中顯示的順序。 |
getChildren(name, namespace) | Element[] | 取得所有具備指定名稱和命名空間,且該命名空間為直接子項的 Element 節點
這個 Element 節點,依照在文件中顯示的順序。 |
getContent(index) | Content | 取得位於指定索引的節點,位於 {@code Element} 節點。 |
getContentSize() | Integer | 取得 {@code Element} 節點中直屬子項的節點數量。 |
getDescendants() | Content[] | 取得 {@code Element} 節點中直接或間接子項的所有節點 。 |
getDocument() | Document | 取得內含 {@code Element} 節點的 XML 文件。 |
getName() | String | 取得 Element 節點的本機名稱。 |
getNamespace() | Namespace | 取得 Element 節點的命名空間。 |
getNamespace(prefix) | Namespace | 取得具有指定前置字串的 Element 節點命名空間。 |
getParentElement() | Element | 取得節點的父項 Element 節點。 |
getQualifiedName() | String | 取得 Element 節點的本機名稱和命名空間前置字串,格式為 [namespacePrefix]:[localName] 。 |
getText() | String | 取得 Element 節點的文字值。 |
getValue() | String | 依序取得節點直接或間接子項的所有節點文字值 這些標誌會出現在文件中 |
isAncestorOf(other) | Boolean | 判斷這個 Element 節點是否為指定 Element 節點的直接或間接父項。 |
isRootElement() | Boolean | 判斷 Element 節點是否為文件的根節點。 |
removeAttribute(attribute) | Boolean | 移除這個 Element 節點的指定屬性 (如有這類屬性)。 |
removeAttribute(attributeName) | Boolean | 移除這個具有指定名稱且不含命名空間的屬性 (如果有的話) 的 Element 節點屬性
這類屬性確實存在 |
removeAttribute(attributeName, namespace) | Boolean | 移除具有特定名稱和命名空間之這個 Element 節點的屬性 (如果有的話)
屬性已存在。 |
removeContent() | Content[] | 移除 {@code Element} 節點中直屬子項的所有節點。 |
removeContent(content) | Boolean | 如果節點是 {@code Element} 節點的直屬子項,則移除指定節點。 |
removeContent(index) | Content | 從指定索引的所有節點中移除 {@code Element} 節點。 |
setAttribute(attribute) | Element | 設定這個 Element 節點的指定屬性。 |
setAttribute(name, value) | Element | 使用特定名稱、值、無命名空間來設定這個 Element 節點的屬性。 |
setAttribute(name, value, namespace) | Element | 使用指定名稱、值和命名空間設定這個 Element 節點的屬性。 |
setName(name) | Element | 設定 Element 節點的本機名稱。 |
setNamespace(namespace) | Element | 設定 Element 節點的命名空間。 |
setText(text) | Element | 設定 Element 節點的文字值。 |
EntityRef
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
detach() | Content | 將節點從父項 Element 節點卸離。 |
getName() | String | 取得 EntityReference 節點的名稱。 |
getParentElement() | Element | 取得節點的父項 Element 節點。 |
getPublicId() | String | 取得 EntityReference 節點的公開 ID。 |
getSystemId() | String | 取得 EntityReference 節點的系統 ID。 |
getValue() | String | 依序取得節點直接或間接子項的所有節點文字值 這些標誌會出現在文件中 |
setName(name) | EntityRef | 設定 EntityReference 節點的名稱。 |
setPublicId(id) | EntityRef | 設定 EntityReference 節點的公開 ID。 |
setSystemId(id) | EntityRef | 設定 EntityReference 節點的系統 ID。 |
Format
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
format(document) | String | 將指定的 Document 輸出為格式化字串。 |
format(element) | String | 將指定的 Element 節點輸出為格式化字串。 |
setEncoding(encoding) | Format | 設定格式設定工具應使用的字元編碼。 |
setIndent(indent) | Format | 設定用來將子節點相對於父項縮排的字串。 |
setLineSeparator(separator) | Format | 設定每當格式器通常會插入換行符號時,要插入的字串。 |
setOmitDeclaration(omitDeclaration) | Format | 設定格式設定工具是否應省略 XML 宣告,例如 <?xml version="1.0"
encoding="UTF-8"?> 。 |
setOmitEncoding(omitEncoding) | Format | 設定格式設定工具是否應在 XML 宣告中省略編碼,例如
<?xml version="1.0" encoding="UTF-8"?> 編碼欄位。 |
Namespace
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
getPrefix() | String | 取得命名空間的前置字串。 |
getURI() | String | 取得命名空間的 URI。 |
ProcessingInstruction
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
detach() | Content | 將節點從父項 Element 節點卸離。 |
getData() | String | 取得 ProcessingInstruction 節點中每個指令的原始資料。 |
getParentElement() | Element | 取得節點的父項 Element 節點。 |
getTarget() | String | 取得 ProcessingInstruction 節點的目標。 |
getValue() | String | 依序取得節點直接或間接子項的所有節點文字值 這些標誌會出現在文件中 |
Text
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
append(text) | Text | 將指定文字附加至節點中已存在的內容。 |
detach() | Content | 將節點從父項 Element 節點卸離。 |
getParentElement() | Element | 取得節點的父項 Element 節點。 |
getText() | String | 取得 Text 節點的文字值。 |
getValue() | String | 依序取得節點直接或間接子項的所有節點文字值 這些標誌會出現在文件中 |
setText(text) | Text | 設定 Text 節點的文字值。 |
XmlService
屬性
屬性 | 類型 | 說明 |
---|---|---|
ContentTypes | ContentType | 代表 XML 內容節點類型的列舉。 |