AI-generated Key Takeaways
-  The Element object represents an XML Element node and provides methods for manipulating its content, attributes, and relationships within an XML document. 
-  You can add, remove, and retrieve content (including child elements and other nodes) from an Element using methods like addContent, removeContent, getAllContent, getChildren, and getContent. 
-  Attributes of an Element can be accessed, set, and removed using methods like getAttribute, getAttributes, setAttribute, and removeAttribute. 
-  The name and text value of an Element can be retrieved and set using getName, getQualifiedName, getText, setText, and getValue. 
-  Methods are available to check the parent and document of an Element, determine if it is the root element, and detach it from its parent. 
A representation of an XML Element 
node.
// 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 );
Methods
| Method | Return type | Brief description | 
|---|---|---|
|  Element 
 | Appends the given node as the last child of the Elementnode. | |
|  Element 
 | Inserts the given node at the given index among all nodes that are immediate children of the Elementnode. | |
|  Content[] 
 | Creates unattached copies of all nodes that are immediate children of the {@code Element} node. | |
|  Content 
 | Detaches the node from its parent  Element 
node. | |
|  Content[] 
 | Gets all nodes that are immediate children of the {@code Element} node. | |
|  Attribute 
 | Gets the attribute for this Elementnode with the given name and no namespace. | |
|  Attribute 
 | Gets the attribute for this Elementnode with the given name and namespace. | |
|  Attribute[] 
 | Gets all attributes for this Elementnode, in the order they appear in the document. | |
|  Element 
 | Gets the first Elementnode with the given name and no namespace that is an immediate
child of thisElementnode. | |
|  Element 
 | Gets the first Elementnode with the given name and namespace that is an immediate
child of thisElementnode. | |
| String | Gets the text value of the node with the given name and no namespace, if the node is an
immediate child of the Elementnode. | |
| String | Gets the text value of the node with the given name and namespace, if the node is an immediate
child of the Elementnode. | |
|  Element[] 
 | Gets all Elementnodes that are immediate children of thisElementnode, in the
order they appear in the document. | |
|  Element[] 
 | Gets all Elementnodes with the given name and no namespace that are immediate children
of thisElementnode, in the order they appear in the document. | |
|  Element[] 
 | Gets all Elementnodes with the given name and namespace that are immediate children of
thisElementnode, in the order they appear in the document. | |
|  Content 
 | Gets the node at the given index among all nodes that are immediate children of the {@code Element} node. | |
| Integer | Gets the number of nodes that are immediate children of the {@code Element} node. | |
|  Content[] 
 | Gets all nodes that are direct or indirect children of the {@code Element} node, in the order they appear in the document. | |
|  Document 
 | Gets the XML document that contains the {@code Element} node. | |
| String | Gets the local name of the Elementnode. | |
|  Namespace 
 | Gets the namespace for the Elementnode. | |
|  Namespace 
 | Gets the namespace with the given prefix for the Elementnode. | |
|  Element 
 | Gets the node's parent  Element 
node. | |
| String | Gets the local name and namespace prefix of the Elementnode, in the form[namespacePrefix]:[localName]. | |
| String | Gets the text value of the Elementnode. | |
| String | Gets the text value of all nodes that are direct or indirect children of the node, in the order they appear in the document. | |
| Boolean | Determines whether this Elementnode is a direct or indirect parent of a givenElementnode. | |
| Boolean | Determines whether the Elementnode is the document's root node. | |
| Boolean | Removes the given attribute for this Elementnode, if such an attribute exists. | |
| Boolean | Removes the attribute for this Elementnode with the given name and no namespace, if
such an attribute exists. | |
| Boolean | Removes the attribute for this Elementnode with the given name and namespace, if such
an attribute exists. | |
|  Content[] 
 | Removes all nodes that are immediate children of the {@code Element} node. | |
| Boolean | Removes the given node, if the node is an immediate child of the {@code Element} node. | |
|  Content 
 | Removes the node at the given index among all nodes that are immediate children of the {@code Element} node. | |
|  Element 
 | Sets the given attribute for this Elementnode. | |
|  Element 
 | Sets the attribute for this Elementnode with the given name, value, and no namespace. | |
|  Element 
 | Sets the attribute for this Elementnode with the given name, value, and namespace. | |
|  Element 
 | Sets the local name of the Elementnode. | |
|  Element 
 | Sets the namespace for the Elementnode. | |
|  Element 
 | Sets the text value of the Elementnode. | 
Detailed documentation
 add  
 
 Appends the given node as the last child of the Element 
node. The content 
argument can be a  Element 
 
object or any node object that corresponds to a type
listed in  Content  
.
Parameters
| Name | Type | Description | 
|---|---|---|
| content |  Content 
 | the node to append | 
Return
  Element 
 
— the Element 
node, for chaining
 add  
 
 Inserts the given node at the given index among all nodes that are immediate children of the Element 
node. The content 
argument can be a  Element 
 
object or any
node object that corresponds to a type listed in  Content  
.
Parameters
| Name | Type | Description | 
|---|---|---|
| index | Integer | the index at which to insert the node among all nodes that are immediate children
    of the Elementnode | 
| content |  Content 
 | the node to insert | 
Return
  Element 
 
— the Element 
node, for chaining
 clone  
 
 Creates unattached copies of all nodes that are immediate children of the {@code Element} node.
Return
  Content[] 
 
— an array of unattached copies of all nodes that are immediate children of the
    {@code Element} node
 detach() 
 
  
 get  
 
 Gets all nodes that are immediate children of the {@code Element} node.
Return
  Content[] 
 
— an array of all nodes that are immediate children of the {@code Element} node
 get  
 
 Gets the attribute for this Element 
node with the given name and no namespace. If there
is no such attribute, this method returns null 
.
Parameters
| Name | Type | Description | 
|---|---|---|
| name | String | the name of the attribute | 
Return
  Attribute 
 
— the attribute, or null 
if there is no attribute with the given name and no
    namespace
 get  
 
 Gets the attribute for this Element 
node with the given name and namespace. If there is
no such node, this method returns null 
.
Parameters
| Name | Type | Description | 
|---|---|---|
| name | String | the name of the attribute | 
| namespace |  Namespace 
 | the namespace of the attribute | 
Return
  Attribute 
 
— the attribute, or null 
if there is no attribute with the given name and
    namespace
 get  
 
 Gets all attributes for this Element 
node, in the order they appear in the document.
Return
  Attribute[] 
 
— an array of all attributes for this Element 
node
 get  
 
 Gets the first Element 
node with the given name and no namespace that is an immediate
child of this Element 
node. If there is no such node, this method returns null 
.
Parameters
| Name | Type | Description | 
|---|---|---|
| name | String | the name of the child Elementnode | 
Return
  Element 
 
— the Element 
node, or null 
if there is no immediate child Element 
node with the given name and no namespace
 get  
 
 Gets the first Element 
node with the given name and namespace that is an immediate
child of this Element 
node. If there is no such node, this method returns null 
.
Parameters
| Name | Type | Description | 
|---|---|---|
| name | String | the name of the child Elementnode | 
| namespace |  Namespace 
 | the namespace of the child Elementnode | 
Return
  Element 
 
— the Element 
node, or null 
if there is no immediate child Element 
node with the given name and namespace
 get  
 
 Gets the text value of the node with the given name and no namespace, if the node is an
immediate child of the Element 
node. If there is no such node, this method returns null 
.
Parameters
| Name | Type | Description | 
|---|---|---|
| name | String | the name of the child node | 
Return
 String 
— the text value of the child node, or null 
if there is no immediate child node
    with the given name and no namespace
 get  
 
 Gets the text value of the node with the given name and namespace, if the node is an immediate
child of the Element 
node. If there is no such node, this method returns null 
.
Parameters
| Name | Type | Description | 
|---|---|---|
| name | String | the name of the child node | 
| namespace |  Namespace 
 | the namespace of the child node | 
Return
 String 
— the text value of the child node, or null 
if there is no immediate child node
    with the given name and namespace
 get  
 
 Gets all Element 
nodes that are immediate children of this Element 
node, in the
order they appear in the document.
Return
  Element[] 
 
— an array of all Element 
nodes that are immediate children of this Element 
node
 get  
 
 Gets all Element 
nodes with the given name and no namespace that are immediate children
of this Element 
node, in the order they appear in the document.
Parameters
| Name | Type | Description | 
|---|---|---|
| name | String | the name of the child Elementnodes | 
Return
  Element[] 
 
— an array of all Element 
nodes with the given name and no namespace that are
    immediate children of this Element 
node
 get  
 
 Gets all Element 
nodes with the given name and namespace that are immediate children of
this Element 
node, in the order they appear in the document.
Parameters
| Name | Type | Description | 
|---|---|---|
| name | String | the name of the child Elementnodes | 
| namespace |  Namespace 
 | the namespace of the child Elementnodes | 
Return
  Element[] 
 
— an array of all Element 
nodes with the given name and namespace that are
    immediate children of this Element 
node
 get  
 
 Gets the node at the given index among all nodes that are immediate children of the
{@code Element} node. If there is no node at the given index, this method returns null 
.
Parameters
| Name | Type | Description | 
|---|---|---|
| index | Integer | the index for the node among all nodes that are immediate children of the {@code Element} node | 
Return
  Content 
 
— the node, or null 
if there is no node at the given index
 get  
 
 Gets the number of nodes that are immediate children of the {@code Element} node.
Return
 Integer 
— the number of nodes that are immediate children of the {@code Element} node
 get  
 
 Gets all nodes that are direct or indirect children of the {@code Element} node, in the order they appear in the document.
Return
  Content[] 
 
— an array of all nodes that are direct or indirect children of the {@code Element} node
 get  
 
 Gets the XML document that contains the {@code Element} node.
Return
  Document 
 
— the document that contains the {@code Element} node
 get  
 
 Gets the local name of the Element 
node. If the node has a namespace prefix, use  get  
or  get  
.  get  
to
get the prefix.
Return
 String 
— the local name of the Element 
node
 get  
 
  
 get  
 
 Gets the namespace with the given prefix for the Element 
node.
Parameters
| Name | Type | Description | 
|---|---|---|
| prefix | String | the prefix for the namespace | 
Return
  Namespace 
 
— the namespace with the given prefix for the Element 
node
 get  
 
  
 get  
 
 Gets the local name and namespace prefix of the Element 
node, in the form [namespacePrefix]:[localName] 
. If the node does not have a namespace prefix, use  get  
.
Return
 String 
— the local name and namespace prefix of the Element 
node, in the form [namespacePrefix]:[localName] 
 get  
 
 Gets the text value of the Element 
node.
Return
 String 
— the text value of the Element 
node
 get  
 
 Gets the text value of all nodes that are direct or indirect children of the node, in the order they appear in the document.
Return
 String 
— the text value of all nodes that are direct or indirect children of the node
 is  
 
 Determines whether this Element 
node is a direct or indirect parent of a given Element 
node.
Parameters
| Name | Type | Description | 
|---|---|---|
| other |  Element 
 | the other Elementnode | 
Return
 Boolean 
— true 
if this Element 
node is a direct or indirect parent of the given Element 
node; false 
if not
 is  
 
 Determines whether the Element 
node is the document's root node.
Return
 Boolean 
— true 
if the Element 
node is the document's root node; false 
if
    not
 remove  
 
 Removes the given attribute for this Element 
node, if such an attribute exists.
Parameters
| Name | Type | Description | 
|---|---|---|
| attribute |  Attribute 
 | the attribute | 
Return
 Boolean 
— true 
if the attribute existed and was removed; false 
if not
 remove  
 
 Removes the attribute for this Element 
node with the given name and no namespace, if
such an attribute exists.
Parameters
| Name | Type | Description | 
|---|---|---|
| attribute  | String | the name of the attribute | 
Return
 Boolean 
— true 
if the attribute existed and was removed; false 
if not
 remove  
 
 Removes the attribute for this Element 
node with the given name and namespace, if such
an attribute exists.
Parameters
| Name | Type | Description | 
|---|---|---|
| attribute  | String | the name of the attribute | 
| namespace |  Namespace 
 | the namespace of the attribute | 
Return
 Boolean 
— true 
if the attribute existed and was removed; false 
if not
 remove  
 
 Removes all nodes that are immediate children of the {@code Element} node.
Return
  Content[] 
 
— an array of all nodes that were immediate children of the {@code Element} node before they
    were removed
 remove  
 
 Removes the given node, if the node is an immediate child of the {@code Element} node. The content 
argument can be a  Element 
 
object or any node object that corresponds to a
type listed in  Content  
.
Parameters
| Name | Type | Description | 
|---|---|---|
| content |  Content 
 | the node to remove | 
Return
 Boolean 
— true 
if the node was an immediate child and was removed; false 
if not
 remove  
 
 Removes the node at the given index among all nodes that are immediate children of the
{@code Element} node. If there is no node at the given index, this method returns null 
.
Parameters
| Name | Type | Description | 
|---|---|---|
| index | Integer | the index for the node among all nodes that are immediate children of the {@code Element} node | 
Return
  Content 
 
— the node that was removed, or null 
if there is no node at the given index
 set  
 
  
 set  
 
 Sets the attribute for this Element 
node with the given name, value, and no namespace.
Parameters
| Name | Type | Description | 
|---|---|---|
| name | String | the name of the attribute to set | 
| value | String | the value of the attribute to set | 
Return
  Element 
 
— the Element 
node, for chaining
 set  
 
 Sets the attribute for this Element 
node with the given name, value, and namespace.
Parameters
| Name | Type | Description | 
|---|---|---|
| name | String | the name of the attribute to set | 
| value | String | the value of the attribute to set | 
| namespace |  Namespace 
 | the namespace of the attribute to set | 
Return
  Element 
 
— the Element 
node, for chaining
 set  
 
 Sets the local name of the Element 
node. To set a namespace prefix for the node, use  set  
in conjunction with  Xml  
.
Parameters
| Name | Type | Description | 
|---|---|---|
| name | String | the local name to set | 
Return
  Element 
 
— the Element 
node, for chaining
 set  
 
  
 set  
 
 Sets the text value of the Element 
node. If the node already contains a text value or
any child nodes, this method overwrites the old content. To append or insert content instead,
use  add  
or  add  
.
Parameters
| Name | Type | Description | 
|---|---|---|
| text | String | the text to set | 
Return
  Element 
 
— the Element 
node, for chaining

