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 節點。 |
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()
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
節點是指定 Element
節點的直接或間接父項,則為 true
;如果不行,則為 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
節點,用於鏈結