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获取 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|null移除 {@code Element} 节点的所有直属子节点中位于指定索引处的节点。
setAttribute(attribute)Element为相应 Element 节点设置指定属性。
setAttribute(name, value)Element使用给定的名称和值(不含命名空间)为相应 Element 节点设置属性。
setAttribute(name, value, namespace)Element使用给定的名称、值和命名空间为此 Element 节点设置属性。
setName(name)Element设置 Element 节点的本地名称。
setNamespace(namespace)ElementElement 节点设置命名空间。
setText(text)Element设置 Element 节点的文本值。

详细文档

addContent(content)

将给定节点附加为 Element 节点的最后一个子节点。content 实参可以是 Element 对象,也可以是与 ContentType 中列出的类型对应的任何节点对象。

参数

名称类型说明
contentContent要附加的节点。

返回

Element - Element 节点,用于链式调用。


addContent(index, content)

Element 节点的所有直属子节点中,将指定节点插入到指定索引处。content 实参可以是 Element 对象,也可以是与 ContentType 中列出的类型对应的任何节点对象。

参数

名称类型说明
indexInteger要在 Element 节点的所有直属子节点中插入相应节点的索引。
contentContent要插入的节点。

返回

Element - Element 节点,用于链式调用。


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

参数

名称类型说明
nameString子级 Element 节点的名称。

返回

Element|null - Element 节点,或者如果没有具有指定名称且没有命名空间的直接子级 Element 节点,则为 null


getChild(name, namespace)

获取第一个具有指定名称和命名空间的 Element 节点,该节点是此 Element 节点的直接子节点。如果不存在此类节点,此方法会返回 null

参数

名称类型说明
nameString子级 Element 节点的名称。
namespaceNamespaceElement 节点的命名空间。

返回

Element|null - Element 节点,或者如果没有具有指定名称和命名空间的直接子 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() 获取前缀。

返回

String - Element 节点的本地名称。


getNamespace()

获取 Element 节点的命名空间。

返回

Namespace - Element 节点的命名空间。


getNamespace(prefix)

获取具有指定前缀的 Element 节点的命名空间。

参数

名称类型说明
prefixString命名空间的前缀。

返回

Namespace - 具有给定前缀的 Element 节点的命名空间。


getParentElement()

获取节点的父 Element 节点。如果节点没有父级,此方法会返回 null

返回

Element|null - 父级 Element 节点。


getQualifiedName()

获取 Element 节点的本地名称和命名空间前缀,格式为 [namespacePrefix]:[localName]。如果节点没有命名空间前缀,请使用 getName()

返回

String - Element 节点的本地名称和命名空间前缀,格式为 [namespacePrefix]:[localName]


getText()

获取 Element 节点的文本值。

返回

String - Element 节点的文本值。


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 - 已移除的节点;如果给定索引处没有节点,则返回 null


setAttribute(attribute)

为相应 Element 节点设置指定属性。

参数

名称类型说明
attributeAttribute要设置的属性。

返回

Element - Element 节点,用于链式调用。


setAttribute(name, value)

使用给定的名称和值(不含命名空间)为相应 Element 节点设置属性。

参数

名称类型说明
nameString要设置的属性的名称。
valueString要设置的属性的值。

返回

Element - Element 节点,用于链式调用。


setAttribute(name, value, namespace)

使用给定的名称、值和命名空间为此 Element 节点设置属性。

参数

名称类型说明
nameString要设置的属性的名称。
valueString要设置的属性的值。
namespaceNamespace要设置的属性的命名空间。

返回

Element - Element 节点,用于链式调用。


setName(name)

设置 Element 节点的本地名称。如需为节点设置命名空间前缀,请结合使用 setNamespace(namespace)XmlService.getNamespace(prefix, uri)

参数

名称类型说明
nameString要设置的本地名称。

返回

Element - Element 节点,用于链式调用。


setNamespace(namespace)

Element 节点设置命名空间。

参数

名称类型说明
namespaceNamespace要设置的命名空间。

返回

Element - Element 节点,用于链式调用。


setText(text)

设置 Element 节点的文本值。如果节点已包含文本值或任何子节点,此方法会覆盖旧内容。如需改为附加或插入内容,请使用 addContent(content)addContent(index, content)

参数

名称类型说明
textString要设置的文本。

返回

Element - Element 节点,用于链式调用。