Ansicht
Dokumentation

ABENABAP_IXML_LIB_DOM_ACCESS_WRITE - ABAP IXML LIB DOM ACCESS WRITE

ABENABAP_IXML_LIB_DOM_ACCESS_WRITE - ABAP IXML LIB DOM ACCESS WRITE

Fill RESBD Structure from EBP Component Structure   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Schreibende Zugriffe auf das DOM

Die schreibend Zugriffe erlauben es, ein XML-Dokument von Grund auf im Speicher aufzubauen oder ein vorhandenes Dokument zu modifizieren. Die wesentlichen Methoden für den Aufbau eines DOM erlauben das Anlegen von Elementen und das Hinzufügen von Attributen zu Elementen. Die Methoden sind im Interface IF_IXML_DOCUMENT deklariert und werden hier kurz vorgestellt. Weitere Methoden erlauben es, Elemente aus einem DOM zu entfernen, wofür auf die Dokumentation des Interface verwiesen sei (siehe auch das ausführbare Beispiel zum Rendern).

Hinweise

  • Von schreibenden Zugriffen auf das DOM während des sequenziellen Parsens wird dringend abgeraten, da es sonst zu undefiniertem Verhalten kommen kann.
  • iXML-Dokumente können auch als XML-Ziel für mit CALL TRANSFORMATION aufgerufene XSL-Transformationen angegeben werden, wodurch ebenfalls in sie geschrieben wird.
  • Wenn bei schreibenden Zugriffen Inhalte von Elementen oder Attributen erzeugt werden, werden die Zeichen , >, &, " und ' automatisch in die zugehörige XML-Notation umgesetzt.

Knoten hinzufügen

Knoten werden in der Regel als Unterknoten zu bestehenden Knoten hinzugefügt. Um ein Element zu erzeugen kann mit einer Referenzvariablen document vom Typ IF_IXML_DOCUMENT, die auf ein XML-Dokument zeigt, folgende Methode aufgerufen werden:

element = document->create_element_ns( name = ... ).

Der statische Typ der Referenzvariable element ist dann IF_IXML_ELEMENT und sie zeigt auf ein Element namens name, das noch nicht Teil der Baumstruktur ist. Um das Element in die Baumstruktur einzufügen kann folgender Aufruf verwendet werden:

parent->append_child( element ).

Dabei ist parent eine Referenzvariable, die auf ein bestehendes Knotenobjekt des XML-Dokuments zeigt. Als Einstieg in ein leeres Dokument kann für parent eine Referenzvariable document für das Dokument selbst angegeben werden.

Die mit CREATE_ELEMENT_NS erzeugten Elemente sind leer. Um Inhalt zu erzeugen kann folgende Methode verwendet werden:

DATA(text) = document->create_text( ... ).

Der statische Typ der Referenzvariable text ist dann IF_IXML_TEXT und sie zeigt auf literalen Inhalt, der noch nicht Teil der Baumstruktur ist. Dieser kann mit der Methode APPEND_CHILD in ein Element eingefügt werden.

Elemente hinzufügen

Die obigen Schritte um ein Element mit Inhalt hinzuzufügen

  • Element erzeugen
  • Element hinzufügen
  • Inhalt erzeugen
  • Inhalt hinzufügen

können auch wie folgt durch einen einzigen Methodenaufruf erledigt werden:

element = document->create_simple_element_ns(
            name   = ...
            value  = ...
            parent = ... ).

Das Element wird erzeugt, mit dem an value übergebenen Inhalt erzeugt und als Unterknoten dem an parent übergebenen Knoten angehängt. Die zuvor beschriebenen Einzelschritte werden deshalb in der Regel nur für speziellere Aufgaben benötigt.

Attribute hinzufügen

Um einen Element eines XML-Dokuments, auf das eine Referenzvariable element zeigt, ein Attribut hinzuzufügen kann folgende Methode verwendet werden:

element->set_attribute_ns( name = ... value = ... ).

Es wird ein Attribut namens name mit dem an value übergebenen Wert erzeugt.






TXBHW - Original Tax Base Amount in Local Currency   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5220 Date: 20240523 Time: 175823     sap01-206 ( 79 ms )