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要附加的节点

返回

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


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 节点是指定节点的直接或间接父节点,则设为 true Element 节点;如果不是,则设为 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 节点,用于链接