ABAP Keyword Documentation → ABAP − Reference → Data Interfaces and Communication Interfaces → ABAP and XML → Class Libraries for XML → iXML Library → iXML Library - Access to DOM
iXML Library - DOM Writes
Writes enable an XML document to be constructed from scratch in the memory or an existing document to be modified. The most important methods used to construct a DOM create elements and add attributes to elements. These methods are declared in the interface IF_IXML_DOCUMENT are summarized here. Other methods are used to remove elements from a DOM, which is described in the interface documentation (see also the executable rendering example).
Other versions:
7.31 | 7.40 | 7.54
Notes
- Writes to the DOM must be avoided during sequential parsing, since this can produce unexpected behavior.
- iXML documents can also be specified as an XML target for XSL transformations called using
CALL TRANSFORMATION
.
- If writes produce content of elements or attributes, the characters <, >, &, ", and ' are transformed automatically into the associated XML notation.
Adding Nodes
Nodes are usually added to existing nodes as subnodes. To create an element, a reference variable document with type IF_IXML_DOCUMENT (pointing to an XML document) can be used to call the following method:
element = document->create_element_ns( name = ... ).
The static type of the reference variable element
is then IF_IXML_ELEMENT
and it points to an element called name
that is not yet part of the tree structure. The following call can be used to insert the element in the tree structure:
parent->append_child( element ).
Here, parent
is a reference variable that points to an existing node object
of the XML document. A reference variable, document
, can be specified for parent
for the document itself as an access point to an empty document.
The elements created using CREATE_ELEMENT_NS are empty. The following method can be used to create content:
DATA(text) = document->create_text( ... )
.
The static type of the reference variable text
is then IF_IXML_TEXT
and it points to literal content that is not yet part of the tree structure. This can be inserted in an element using the method APPEND_CHILD.
Adding Elements
The steps above used to add content to an element
- create element
- add element
- create content
- add content
can also be performed using a single method call as follows:
name = ...
value = ...
parent = ... ).
This creates the element, with the content passed to value
, and appends it
to the node passed to parent
as a subnode. For this reason, the individual steps described above are generally only used for more specific tasks.
Adding Attributes
The following method can be used to add an attribute to an element of an XML pointed to by a reference variable, element
:
element->set_attribute_ns( name = ... value = ... ).
This creates an attribute called name
with the value passed to value
.