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将节点从其父级 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要附加的节点

返回

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


addContent(index, content)

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

参数

名称类型说明
indexInteger要在 Element 节点的所有直接子节点中插入节点的位置索引
contentContent要插入的节点

返回

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


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

参数

名称类型说明
nameStringElement 节点的名称

返回

Element - Element 节点;如果没有具有给定名称且没有命名空间的直接子 Element 节点,则为 null


getChild(name, namespace)

获取具有给定名称和命名空间且是此 Element 节点的直接子项的第一个 Element 节点。如果没有此类节点,此方法会返回 null

参数

名称类型说明
nameStringElement 节点的名称
namespaceNamespaceElement 节点的命名空间

返回

Element - Element 节点;如果没有具有给定名称和命名空间的直接子 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 节点,按文档中显示的顺序。

参数

名称类型说明
nameStringElement 节点的名称

返回

Element[] - 此 Element 节点的直接子节点中具有给定名称且没有命名的所有 Element 节点的数组


getChildren(name, namespace)

获取具有给定名称和命名空间且是此 Element 节点的直接子级的所有 Element 节点,按文档中显示的顺序。

参数

名称类型说明
nameStringElement 节点的名称
namespaceNamespaceElement 节点的命名空间

返回

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() 来获取前缀。

返回

String - Element 节点的本地名称


getNamespace()

获取 Element 节点的命名空间。

返回

Namespace - Element 节点的命名空间


getNamespace(prefix)

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

参数

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

返回

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


getParentElement()

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

返回

Element - 父 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


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 节点,用于链式调用