Class Element

元素

XML Element 節點的表示法。

// Adds up the values listed in a sample XML document and adds a new element
// with the total.
let xml = '<things>' +
    '<plates>12</plates>' +
    '<bowls>18</bowls>' +
    '<cups>25</cups>' +
    '</things>';
const document = XmlService.parse(xml);
const root = document.getRootElement();
const items = root.getChildren();
let total = 0;
for (let i = 0; i < items.length; i++) {
  total += Number(items[i].getText());
}
const totalElement = XmlService.createElement('total').setText(total);
root.addContent(totalElement);
xml = XmlService.getPrettyFormat().format(document);
Logger.log(xml);

方法

方法傳回類型簡短說明
addContent(content)Element將指定節點附加為 Element 節點的最後一個子項。
addContent(index, content)ElementElement 節點的所有直接子項節點中,於指定索引處插入指定節點。
cloneContent()Content[]建立 {@code Element} 節點所有直接子項的未附加副本。
detach()Content|null將節點從父項 Element 節點中分離。
getAllContent()Content[]取得 {@code Element} 節點的所有直接子項節點。
getAttribute(name)Attribute|null取得這個 Element 節點的屬性,該屬性具有指定名稱,且沒有命名空間。
getAttribute(name, namespace)Attribute|null取得這個 Element 節點的屬性,並提供名稱和命名空間。
getAttributes()Attribute[]取得這個 Element 節點的所有屬性,順序與文件中的顯示順序相同。
getChild(name)Element|null取得具有指定名稱且沒有命名空間的第一個 Element 節點,該節點是這個 Element 節點的直接子項。
getChild(name, namespace)Element|null取得具有指定名稱和命名空間的第一個 Element 節點,該節點是這個 Element 節點的直接子項。
getChildText(name)String|null如果節點是 Element 節點的直接子項,則會取得指定名稱且沒有命名空間的節點文字值。
getChildText(name, namespace)String|null如果節點是 Element 節點的直接子項,則會取得具有指定名稱和命名空間的節點文字值。
getChildren()Element[]取得這個 Element 節點的所有直接子項 Element 節點,順序與文件中的顯示順序相同。
getChildren(name)Element[]取得具有指定名稱且沒有命名空間的所有 Element 節點,這些節點是這個 Element 節點的直接子項,且順序與文件中顯示的順序相同。
getChildren(name, namespace)Element[]取得具有指定名稱和命名空間的所有 Element 節點,這些節點是這個 Element 節點的直接子項,且順序與文件中顯示的順序相同。
getContent(index)Content|null在 {@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|null取得節點的父項 Element 節點。
getQualifiedName()String[namespacePrefix]:[localName] 形式取得 Element 節點的本機名稱和命名空間前置字元。
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|null從 {@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|null:已分離的節點。


getAllContent()

取得 {@code Element} 節點的所有直接子項節點。

回攻員

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


getAttribute(name)

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

參數

名稱類型說明
nameString屬性名稱。

回攻員

Attribute|null:屬性,或如果沒有具有指定名稱的屬性,且沒有命名空間,則為 null


getAttribute(name, namespace)

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

參數

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

回攻員

Attribute|null - 屬性,或 null (如果沒有具有指定名稱和命名空間的屬性)。


getAttributes()

取得這個 Element 節點的所有屬性,順序與文件中的顯示順序相同。

回攻員

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


getChild(name)

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

參數

名稱類型說明
nameStringElement 節點的名稱。

回攻員

Element|nullElement 節點,或如果沒有具指定名稱且沒有命名空間的直接子項 Element 節點,則為 null


getChild(name, namespace)

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

參數

名稱類型說明
nameStringElement 節點的名稱。
namespaceNamespaceElement 節點的命名空間。

回攻員

Element|nullElement 節點,或如果沒有具備指定名稱和命名空間的直接子項 Element 節點,則為 null


getChildText(name)

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

參數

名稱類型說明
nameString子節點的名稱。

回攻員

String|null:子節點的文字值,或 null (如果沒有具有指定名稱且沒有命名空間的直接子節點)。


getChildText(name, namespace)

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

參數

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

回攻員

String|null:子節點的文字值,如果沒有具有指定名稱和命名空間的直接子節點,則為 null


getChildren()

取得這個 Element 節點的所有直接子項 Element 節點,順序與文件中的顯示順序相同。

回攻員

Element[]:這個 Element 節點的直接子項所有 Element 節點陣列。


getChildren(name)

取得具有指定名稱且沒有命名空間的所有 Element 節點,這些節點是這個 Element 節點的直接子項,且順序與文件中顯示的順序相同。

參數

名稱類型說明
nameStringElement 節點的名稱。

回攻員

Element[] - 具有指定名稱且沒有命名空間的所有 Element 節點陣列,這些節點是這個 Element 節點的直接子項。


getChildren(name, namespace)

取得具有指定名稱和命名空間的所有 Element 節點,這些節點是這個 Element 節點的直接子項,且順序與文件中顯示的順序相同。

參數

名稱類型說明
nameStringElement 節點的名稱。
namespaceNamespaceElement 節點的命名空間。

回攻員

Element[] - 具有指定名稱和命名空間的所有 Element 節點陣列,這些節點是這個 Element 節點的直接子項。


getContent(index)

在 {@code Element} 節點的所有直接子項節點中,取得指定索引處的節點。如果指定索引處沒有節點,這個方法會傳回 null

參數

名稱類型說明
indexInteger節點在 {@code Element} 節點所有直接子項中的索引。

回攻員

Content|null:節點;如果指定索引沒有節點,則為 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命名空間的前置字元。

回攻員

Namespace:具有指定前置字元的 Element 節點命名空間。


getParentElement()

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

回攻員

Element|null:父項 Element 節點。


getQualifiedName()

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

回攻員

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


getText()

取得 Element 節點的文字值。

回攻員

StringElement 節點的文字值。


getValue()

取得節點直接或間接子項的所有節點文字值,順序與文件中的顯示順序相同。

回攻員

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


isAncestorOf(other)

判斷這個 Element 節點是否為指定 Element 節點的直接或間接父項。

參數

名稱類型說明
otherElement另一個 Element 節點。

回攻員

Boolean - true (如果這個 Element 節點是指定 Element 節點的直接或間接父項);false (如果不是)。


isRootElement()

判斷 Element 節點是否為文件的根節點。

回攻員

Boolean - true (如果 Element 節點是文件的根節點);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:已移除的節點;如果指定索引沒有節點,則為 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 節點,用於鏈結。