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 节点;如果没有给定名称且没有命名空间的直接子 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 节点,用于串联