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
中列出。
参数
名称 | 类型 | 说明 |
---|---|---|
content | Content | 要附加的节点 |
返回
Element
- Element
节点,用于链接
addContent(index, content)
在作为
Element
节点。content
参数可以是 Element
对象或任何对象
对应于ContentType
中列出的某个类型的节点对象。
参数
名称 | 类型 | 说明 |
---|---|---|
index | Integer | 要在所有直接子节点中插入节点的索引
(共 Element 节点) |
content | Content | 要插入的节点 |
返回
Element
- Element
节点,用于链接
cloneContent()
为所有属于 {@code Element} 节点的直接子节点的节点创建未附加的副本。
返回
Content[]
- 作为节点的直接子节点的所有节点的未附加副本的数组
{@code Element} 节点
getAllContent()
getAttribute(name)
获取具有指定名称但无命名空间的 Element
节点的属性。如果有
不存在此类属性,此方法会返回 null
。
参数
名称 | 类型 | 说明 |
---|---|---|
name | String | 属性名称 |
返回
Attribute
- 属性,如果没有指定名称的属性,则为 null
命名空间
getAttribute(name, namespace)
getAttributes()
getChild(name)
获取具有指定名称但无直接命名空间的第一个 Element
节点
该 Element
节点的子级。如果没有此类节点,此方法会返回 null
。
参数
名称 | 类型 | 说明 |
---|---|---|
name | String | 子 Element 节点的名称 |
返回
Element
- Element
节点,或者 null
(如果没有具有指定名称且没有命名空间的直接子 Element
节点)
getChild(name, namespace)
getChildText(name)
获取具有指定名称、没有命名空间的节点的文本值(如果该节点是
Element
节点的直接子节点。如果没有此节点,此方法会返回
null
。
参数
名称 | 类型 | 说明 |
---|---|---|
name | String | 子节点的名称 |
返回
String
- 子节点的文本值,如果没有直接子节点,则为 null
具有给定名称且没有命名空间
getChildText(name, namespace)
如果节点是直接节点,则获取具有指定名称和命名空间的节点的文本值
Element
节点的子级。如果没有此类节点,此方法会返回 null
。
参数
名称 | 类型 | 说明 |
---|---|---|
name | String | 子节点的名称 |
namespace | Namespace | 子节点的命名空间 |
返回
String
- 子节点的文本值,如果没有直接子节点,则为 null
具有给定的名称和命名空间
getChildren()
getChildren(name)
获取具有指定名称但不含直接子项的命名空间的所有 Element
节点
此 Element
节点的节点(按在文档中显示的顺序排列)。
参数
名称 | 类型 | 说明 |
---|---|---|
name | String | 子 Element 节点的名称 |
返回
Element[]
- 一个数组,其中包含具有指定名称但未指定命名空间的所有 Element
节点
此 Element
节点的直接子节点
getChildren(name, namespace)
getContent(index)
获取作为指定索引的所有节点的直接子节点,
{@code Element} 节点。如果给定索引没有节点,此方法会返回 null
。
参数
名称 | 类型 | 说明 |
---|---|---|
index | Integer | 该节点在作为该节点的直接子节点的所有节点中的索引 {@code Element} 节点 |
返回
Content
- 节点;如果指定索引上没有任何节点,则为 null
getContentSize()
获取属于 {@code Element} 节点的直接子节点的节点数。
返回
Integer
- 作为 {@code Element} 节点的直接子节点的节点数
getDescendants()
获取作为 {@code Element} 节点的直接或间接子节点的所有节点(按节点顺序排列) 。
返回
Content[]
- 代表 {@code Element} 节点的直接或间接子节点的所有节点的数组
getDocument()
getName()
获取 Element
节点的本地名称。如果节点具有命名空间前缀,请使用 getQualifiedName()
或 getNamespace()
。getPrefix()
至
获取该前缀。
返回
String
- Element
节点的本地名称
getNamespace()
getNamespace(prefix)
getQualifiedName()
获取 Element
节点的本地名称和命名空间前缀,格式为 [namespacePrefix]:[localName]
。如果节点没有命名空间前缀,请使用 getName()
。
返回
String
- Element
节点的本地名称和命名空间前缀,格式为 [namespacePrefix]:[localName]
getText()
获取 Element
节点的文本值。
返回
String
- Element
节点的文本值
getValue()
获取所有作为节点的直接或间接子节点(按顺序排列)的文本值 它们出现在文档中
返回
String
- 作为节点的直接或间接子节点的所有节点的文本值
isAncestorOf(other)
确定此 Element
节点是给定 Element
节点的直接父节点还是间接父节点。
参数
名称 | 类型 | 说明 |
---|---|---|
other | Element | 其他 Element 节点 |
返回
Boolean
- 如果此 Element
节点是指定节点的直接或间接父节点,则设为 true
Element
节点;如果不是,则设为 false
isRootElement()
确定 Element
节点是否为文档的根节点。
返回
Boolean
- 如果 Element
节点是文档的根节点,则为 true
;如果为 false
非
removeAttribute(attribute)
移除此 Element
节点的指定属性(如果存在)。
参数
名称 | 类型 | 说明 |
---|---|---|
attribute | Attribute | 属性 |
返回
Boolean
- 如果该属性存在但已移除,则为 true
;如果不是,则为 false
removeAttribute(attributeName)
移除此 Element
节点具有给定名称但无命名空间的属性,如果
存在这样的属性。
参数
名称 | 类型 | 说明 |
---|---|---|
attributeName | String | 属性名称 |
返回
Boolean
- 如果该属性存在但已移除,则为 true
;如果不是,则为 false
removeAttribute(attributeName, namespace)
移除此 Element
节点具有指定名称和命名空间的属性(如果有)
属性。
参数
名称 | 类型 | 说明 |
---|---|---|
attributeName | String | 属性名称 |
namespace | Namespace | 属性的命名空间 |
返回
Boolean
- 如果该属性存在但已移除,则为 true
;如果不是,则为 false
removeContent()
removeContent(content)
删除指定节点(如果该节点是 {@code Element} 节点的直接子节点)。content
参数可以是 Element
对象,也可以是与
类型(列在 ContentType
中)。
参数
名称 | 类型 | 说明 |
---|---|---|
content | Content | 要移除的节点 |
返回
Boolean
- 如果该节点是直接子节点且已被移除,则为 true
;如果不是,则为 false
removeContent(index)
从作为指定索引的所有节点的直接子节点中删除给定索引处的节点
{@code Element} 节点。如果给定索引没有节点,此方法会返回 null
。
参数
名称 | 类型 | 说明 |
---|---|---|
index | Integer | 该节点在作为该节点的直接子节点的所有节点中的索引 {@code Element} 节点 |
返回
Content
- 要移除的节点;如果指定索引上没有任何节点,则返回 null
setAttribute(attribute)
setAttribute(name, value)
使用给定的名称和值为此 Element
节点设置属性,但不带命名空间。
参数
名称 | 类型 | 说明 |
---|---|---|
name | String | 要设置的属性的名称 |
value | String | 要设置的属性的值 |
返回
Element
- Element
节点,用于链接
setAttribute(name, value, namespace)
setName(name)
设置 Element
节点的本地名称。要为节点设置命名空间前缀,请使用
setNamespace(namespace)
与 XmlService.getNamespace(prefix, uri)
结合使用。
参数
名称 | 类型 | 说明 |
---|---|---|
name | String | 要设置的本地名称 |
返回
Element
- Element
节点,用于链接
setNamespace(namespace)
setText(text)
设置 Element
节点的文本值。如果节点已包含文本值或
任何子节点,此方法将覆盖旧内容。要改为附加或插入内容,请执行以下操作:
请使用 addContent(content)
或 addContent(index, content)
。
参数
名称 | 类型 | 说明 |
---|---|---|
text | String | 要设置的文本 |
返回
Element
- Element
节点,用于链接