Class Element

元素

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 中列出的類型對應的任何節點物件。

參數

名稱類型說明
contentContent要附加的節點

回攻員

ElementElement 節點,用於鏈結


addContent(index, content)

在所有是 Element 節點立即子項的節點之間,插入指定的索引處。content 引數可以是 Element 物件,或是與 ContentType 中列出的類型對應的任何節點物件。

參數

名稱類型說明
indexInteger要在所有節點中插入節點,這些節點是 Element 節點立即子項的
contentContent要插入的節點

回攻員

ElementElement 節點,用於鏈結


cloneContent()

為 {@code Element} 節點立即子項的所有節點建立未附加的副本。

回攻員

Content[]:所有節點的未附加副本,這些節點是 {@code Element} 節點的直接子項


detach()

卸離節點與父項 Element 節點。如果節點沒有父項,這個方法就不會有任何作用。

回攻員

Content:卸離的節點


getAllContent()

取得所有是 {@code Element} 節點立即子項的節點。

回攻員

Content[]:是 {@code Element} 節點立即子項的所有節點陣列


getAttribute(name)

取得這個 Element 節點具有指定名稱和無命名空間的屬性。如果沒有這類屬性,這個方法會傳回 null

參數

名稱類型說明
nameString屬性名稱

回攻員

Attribute:屬性;如果沒有具有指定名稱和命名空間的屬性,則傳回 null


getAttribute(name, namespace)

取得這個 Element 節點的屬性,以及指定的名稱和命名空間。如果沒有這類節點,這個方法會傳回 null

參數

名稱類型說明
nameString屬性名稱
namespaceNamespace屬性的命名空間

回攻員

Attribute:屬性;如果沒有具有指定名稱和命名空間的屬性,則值為 null


getAttributes()

取得這個 Element 節點的所有屬性,並依照在文件中的順序顯示。

回攻員

Attribute[]:這個 Element 節點所有屬性的陣列


getChild(name)

取得第一個 Element 節點具有指定名稱,且沒有命名空間是此 Element 節點立即的子項。如果沒有這類節點,這個方法會傳回 null

參數

名稱類型說明
nameString子項 Element 節點的名稱

回攻員

ElementElement 節點;如果沒有指定名稱且沒有命名空間的立即子項 Element 節點,則為 null


getChild(name, namespace)

取得第一個 Element 節點,其名稱與命名空間是此 Element 節點的直接子項。如果沒有這類節點,這個方法會傳回 null

參數

名稱類型說明
nameString子項 Element 節點的名稱
namespaceNamespace子項 Element 節點的命名空間

回攻員

ElementElement 節點;如果沒有指定名稱和命名空間立即的子項 Element 節點,則為 null


getChildText(name)

如果節點是 Element 節點的立即子項,則取得具有指定名稱且無命名空間的節點文字值。如果沒有這類節點,這個方法會傳回 null

參數

名稱類型說明
nameString子項節點名稱

回攻員

String:子項節點的文字值;如果沒有指定名稱且沒有命名空間的立即子節點,則為 null


getChildText(name, namespace)

如果節點是 Element 節點的直系子項,則取得指定名稱和命名空間的節點文字值。如果沒有這類節點,這個方法會傳回 null

參數

名稱類型說明
nameString子項節點名稱
namespaceNamespace子項節點的命名空間

回攻員

String:子項節點的文字值;如果沒有指定名稱和命名空間的立即子節點,則為 null


getChildren()

依照在文件中顯示的順序,取得這個 Element 節點立即子項的所有 Element 節點。

回攻員

Element[]:所有 Element 節點的陣列,是這個 Element 節點立即的子項


getChildren(name)

取得所有具有指定名稱的 Element 節點,而且沒有命名空間是這個 Element 節點立即子項的命名空間,順序會依照在文件中的順序排列。

參數

名稱類型說明
nameString子項 Element 節點的名稱

回攻員

Element[]:所有 Element 節點的陣列,包含指定名稱,且沒有命名空間是這個 Element 節點的直接子項


getChildren(name, namespace)

依照在文件中顯示的順序,取得具有指定名稱和命名空間是這個 Element 節點立即子項的所有 Element 節點。

參數

名稱類型說明
nameString子項 Element 節點的名稱
namespaceNamespace子項 Element 節點的命名空間

回攻員

Element[]:所有 Element 節點的陣列,包含指定的名稱和命名空間,是這個 Element 節點的直接子項


getContent(index)

取得位於指定索引的節點,這是 {@code Element} 節點立即子項的所有節點。如果指定的索引中沒有任何節點,這個方法會傳回 null

參數

名稱類型說明
indexInteger在所有是 {@code Element} 節點立即子項的節點之間建立節點的索引

回攻員

Content:節點;如果指定索引沒有節點,則為 null


getContentSize()

取得 {@code Element} 節點立即子項的節點數量。

回攻員

Integer:是 {@code Element} 節點立即子項的節點數量


getDescendants()

取得 {@code Element} 節點的直接或間接子項所有節點,並依照在文件中顯示的順序排列。

回攻員

Content[]:所有 {@code Element} 節點直接或間接子項的所有節點陣列


getDocument()

取得包含 {@code Element} 節點的 XML 文件。

回攻員

Document:包含 {@code Element} 節點的文件


getName()

取得 Element 節點的本機名稱。如果節點有命名空間前置字串,請使用 getQualifiedName()getNamespace()getPrefix() 即可取得前置字串。

回攻員

StringElement 節點的本機名稱


getNamespace()

取得 Element 節點的命名空間。

回攻員

NamespaceElement 節點的命名空間


getNamespace(prefix)

取得 Element 節點含有特定前置字串的命名空間。

參數

名稱類型說明
prefixString命名空間的前置字串

回攻員

NamespaceElement 節點具有指定前置字串的命名空間


getParentElement()

取得節點的父項 Element 節點。如果節點沒有父項,這個方法會傳回 null

回攻員

Element:父項 Element 節點


getQualifiedName()

取得 Element 節點的本機名稱和命名空間前置字串,格式為 [namespacePrefix]:[localName]。如果節點沒有命名空間前置字串,請使用 getName()

回攻員

StringElement 節點的本機名稱和命名空間前置字串,格式為 [namespacePrefix]:[localName]


getText()

取得 Element 節點的文字值。

回攻員

StringElement 節點的文字值


getValue()

取得節點直接或間接子項的所有節點文字值,並依照在文件中的順序排列。

回攻員

String:所有節點直接或間接子項的節點文字值


isAncestorOf(other)

決定此 Element 節點是特定 Element 節點的直接或間接父項。

參數

名稱類型說明
otherElement其他 Element 節點

回攻員

Boolean:如果這個 Element 節點是指定 Element 節點的直接或間接父項,則為 true;如果不行,則為 false


isRootElement()

決定 Element 節點是否為文件的根節點。

回攻員

Boolean:如果 Element 節點是文件的根節點,則為 true;如果不行,則為 false


removeAttribute(attribute)

移除這個 Element 節點的指定屬性 (如有這類屬性)。

參數

名稱類型說明
attributeAttribute屬性

回攻員

Boolean:如果屬性已存在但已移除,則為 true;如果不是,則為 false


removeAttribute(attributeName)

針對這個 Element 節點,移除具有指定名稱且無命名空間的屬性 (如果有此類屬性)。

參數

名稱類型說明
attributeNameString屬性名稱

回攻員

Boolean:如果屬性已存在但已移除,則為 true;如果不是,則為 false


removeAttribute(attributeName, namespace)

如果這個 Element 節點具有指定名稱和命名空間,就會移除此節點的屬性 (如有這類屬性)。

參數

名稱類型說明
attributeNameString屬性名稱
namespaceNamespace屬性的命名空間

回攻員

Boolean:如果屬性已存在但已移除,則為 true;如果不是,則為 false


removeContent()

移除所有是 {@code Element} 節點立即子項的節點。

回攻員

Content[]:這是 {@code Element} 節點立即子項的所有節點陣列,這些節點在移除之前是這些節點


removeContent(content)

如果節點是 {@code Element} 節點的直接子項,請移除指定節點。content 引數可以是 Element 物件,或是與 ContentType 中列出的類型對應的任何節點物件。

參數

名稱類型說明
contentContent要移除的節點

回攻員

Boolean:如果節點是立即的子項且已移除,則為 true;如果不是,則為 false


removeContent(index)

從所有是 {@code Element} 節點立即子項的節點中移除位於指定索引的節點。如果指定的索引中沒有任何節點,這個方法會傳回 null

參數

名稱類型說明
indexInteger在所有是 {@code Element} 節點立即子項的節點之間建立節點的索引

回攻員

Content:已移除的節點;如果指定索引中沒有節點,則為 null


setAttribute(attribute)

設定這個 Element 節點的指定屬性。

參數

名稱類型說明
attributeAttribute要設定的屬性

回攻員

ElementElement 節點,用於鏈結


setAttribute(name, value)

使用指定名稱、值,而且不含命名空間,設定這個 Element 節點的屬性。

參數

名稱類型說明
nameString要設定的屬性名稱
valueString要設定的屬性值

回攻員

ElementElement 節點,用於鏈結


setAttribute(name, value, namespace)

設定這個 Element 節點的屬性,以及指定的名稱、值和命名空間。

參數

名稱類型說明
nameString要設定的屬性名稱
valueString要設定的屬性值
namespaceNamespace屬性的命名空間

回攻員

ElementElement 節點,用於鏈結


setName(name)

設定 Element 節點的本機名稱。如要為節點設定命名空間前置字串,請將 setNamespace(namespace)XmlService.getNamespace(prefix, uri) 搭配使用。

參數

名稱類型說明
nameString要設定的本機名稱

回攻員

ElementElement 節點,用於鏈結


setNamespace(namespace)

設定 Element 節點的命名空間。

參數

名稱類型說明
namespaceNamespace要設定的命名空間

回攻員

ElementElement 節點,用於鏈結


setText(text)

設定 Element 節點的文字值。如果節點已包含文字值或任何子節點,這個方法會覆寫舊內容。如要附加或插入內容,請使用 addContent(content)addContent(index, content)

參數

名稱類型說明
textString要設定的文字

回攻員

ElementElement 節點,用於鏈結