XML Element
節點的表示法。
// Adds up the values listed in a sample XML document and adds a new element with the total. var xml = '<things>' + '<plates>12</plates>' + '<bowls>18</bowls>' + '<cups>25</cups>' + '</things>'; var document = XmlService.parse(xml); var root = document.getRootElement(); var items = root.getChildren(); var total = 0; for (var i = 0; i < items.length; i++) { total += Number(items[i].getText()); } var totalElement = XmlService.createElement('total').setText(total); root.addContent(totalElement); xml = XmlService.getPrettyFormat().format(document); Logger.log(xml);
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
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 節點的文字值。 |
內容詳盡的說明文件
addContent(content)
附加指定節點做為 Element
節點的最後子項。content
引數可以是 Element
物件,或與某個類型對應的任何節點物件
並未列在「ContentType
」中。
參數
名稱 | 類型 | 說明 |
---|---|---|
content | Content | 要附加的節點 |
回攻員
Element
:用於鏈結的 Element
節點
addContent(index, content)
在指定的索引插入指定節點,位於
Element
個節點。content
引數可以是 Element
物件,也可以是
與 ContentType
中列出的類型相對應的節點物件。
參數
名稱 | 類型 | 說明 |
---|---|---|
index | Integer | 要在所有直屬子項的節點中插入節點的索引
(共 Element 個節點) |
content | Content | 要插入的節點 |
回攻員
Element
:用於鏈結的 Element
節點
cloneContent()
getAllContent()
getAttribute(name)
取得這個 Element
節點的屬性 (具有指定名稱),且不含命名空間。如果有
不是這類屬性,這個方法會傳回 null
。
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 屬性名稱 |
回攻員
Attribute
:屬性;如果沒有指定名稱的屬性,則傳回 null
命名空間
getAttribute(name, namespace)
getAttributes()
getChild(name)
取得第一個Element
具有指定名稱且沒有立即可用的命名空間
此 Element
節點的子項。如果沒有這類節點,這個方法會傳回 null
。
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 子項 Element 節點的名稱 |
回攻員
Element
:Element
節點;如果沒有具有指定名稱且沒有命名空間的直接子項 Element
節點,則為 null
getChild(name, namespace)
getChildText(name)
取得具有指定名稱且不含命名空間的節點文字值 (如果節點是
Element
節點的即時子項。如果沒有這類節點,此方法會傳回
null
。
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 子節點的名稱 |
回攻員
String
:子節點的文字值;如果沒有直接子節點,則為 null
含有特定名稱且不含命名空間
getChildText(name, namespace)
取得具有指定名稱和命名空間的節點文字值 (如果節點為即時節點)
Element
節點的子項。如果沒有這類節點,這個方法會傳回 null
。
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 子節點的名稱 |
namespace | Namespace | 也就是子節點的命名空間 |
回攻員
String
:子節點的文字值;如果沒有直接子節點,則為 null
與指定的命名空間
getChildren()
取得位於 Element
節點中此 Element
節點直系子項的所有 Element
節點
排列順序。
回攻員
Element[]
— 所有 Element
節點的陣列,這些節點是此 Element
節點的直系子項
getChildren(name)
取得具有指定名稱且不含直系子項的所有 Element
節點
這個 Element
節點,依照在文件中顯示的順序。
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 子項 Element 節點的名稱 |
回攻員
Element[]
— 所有 Element
節點的陣列,這些節點包含特定名稱,且不含
這個 Element
節點的直接子項
getChildren(name, namespace)
getContent(index)
取得位於指定索引的節點,位於
{@code Element} 節點。如果指定的索引沒有任何節點,此方法會傳回 null
。
參數
名稱 | 類型 | 說明 |
---|---|---|
index | Integer | 納入所有屬於 {@code Element} 節點 |
回攻員
Content
:節點,或 null
(如果指定索引沒有節點)
getContentSize()
取得 {@code Element} 節點中直屬子項的節點數量。
回攻員
Integer
:{@code Element} 節點直屬子項的節點數量
getDescendants()
getDocument()
getName()
取得 Element
節點的本機名稱。如果節點有命名空間前置字串,請使用 getQualifiedName()
或 getNamespace()
。getPrefix()
到
即可取得前置字串
回攻員
String
:Element
節點的本機名稱
getNamespace()
getNamespace(prefix)
getQualifiedName()
取得 Element
節點的本機名稱和命名空間前置字串,格式為 [namespacePrefix]:[localName]
。如果節點沒有命名空間前置字串,請使用 getName()
。
回攻員
String
:Element
節點的本機名稱和命名空間前置字串,格式為 [namespacePrefix]:[localName]
getText()
取得 Element
節點的文字值。
回攻員
String
:Element
節點的文字值
getValue()
依序取得節點直接或間接子項的所有節點文字值 這些標誌會出現在文件中
回攻員
String
:節點直接或間接子項的所有節點文字值
isAncestorOf(other)
判斷這個 Element
節點是否為指定 Element
節點的直接或間接父項。
參數
名稱 | 類型 | 說明 |
---|---|---|
other | Element | 另一個 Element 節點 |
回攻員
Boolean
:如果這個 Element
節點是指定值的直接或間接父項,則為 true
Element
節點;如果不是,則為 false
isRootElement()
判斷 Element
節點是否為文件的根節點。
回攻員
Boolean
- 如果 Element
節點是文件的根節點,則為 true
;如果符合條件,則設為 false
非
removeAttribute(attribute)
移除這個 Element
節點的指定屬性 (如有這類屬性)。
參數
名稱 | 類型 | 說明 |
---|---|---|
attribute | Attribute | 屬性 |
回攻員
Boolean
- true
(如果屬性存在並移除)如果不需要,則設為false
removeAttribute(attributeName)
移除這個具有指定名稱且不含命名空間的屬性 (如果有的話) 的 Element
節點屬性
這類屬性確實存在
參數
名稱 | 類型 | 說明 |
---|---|---|
attributeName | String | 屬性名稱 |
回攻員
Boolean
- true
(如果屬性存在並移除)如果不需要,則設為false
removeAttribute(attributeName, namespace)
移除具有特定名稱和命名空間之這個 Element
節點的屬性 (如果有的話)
屬性已存在。
參數
名稱 | 類型 | 說明 |
---|---|---|
attributeName | String | 屬性名稱 |
namespace | Namespace | 屬性的命名空間 |
回攻員
Boolean
- true
(如果屬性存在並移除)如果不需要,則設為false
removeContent()
removeContent(content)
如果節點是 {@code Element} 節點的直屬子項,則移除指定節點。content
引數可以是 Element
物件,也可以是與
ContentType
列出的類型。
參數
名稱 | 類型 | 說明 |
---|---|---|
content | Content | 要移除的節點 |
回攻員
Boolean
— true
表示節點是立即子項且已移除。如果不需要,則設為false
removeContent(index)
從指定索引的所有節點中移除
{@code Element} 節點。如果指定的索引沒有任何節點,此方法會傳回 null
。
參數
名稱 | 類型 | 說明 |
---|---|---|
index | Integer | 納入所有屬於 {@code Element} 節點 |
回攻員
Content
:已移除的節點;如果指定索引沒有節點,則傳回 null
setAttribute(attribute)
setAttribute(name, value)
使用特定名稱、值、無命名空間來設定這個 Element
節點的屬性。
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 要設定的屬性名稱 |
value | String | 待設定的屬性值 |
回攻員
Element
:用於鏈結的 Element
節點
setAttribute(name, value, namespace)
setName(name)
設定 Element
節點的本機名稱。如要為節點設定命名空間前置字串,請使用
可將 setNamespace(namespace)
與 XmlService.getNamespace(prefix, uri)
搭配使用。
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 要設定的本機名稱 |
回攻員
Element
:用於鏈結的 Element
節點
setNamespace(namespace)
setText(text)
設定 Element
節點的文字值。如果節點已包含文字值或
任何子節點,這個方法會覆寫舊內容。如要改為附加或插入內容,
使用 addContent(content)
或 addContent(index, content)
。
參數
名稱 | 類型 | 說明 |
---|---|---|
text | String | 要設定的文字 |
回攻員
Element
:用於鏈結的 Element
節點