XML_INSERT_BEFORE
Verwenden Sie die Script-Funktion XML_INSERT_BEFORE, um ein neues Element vor einem angegebenen vorhandenen und geöffneten Element im XML-Dokument einzufügen.
Wichtig! Die XML-Struktur wird nur im Speicher geändert. Die Änderungen von XML_INSERT_BEFORE werden nicht auf der strukturierten Dokumentationsseite angezeigt.
Tipp: Verwenden Sie die Script-Funktion XML_OPEN, um das XML-Dokument zu öffnen. Weitere Informationen finden Sie unter XML_OPEN.
Syntax
XML_INSERT_BEFORE (Parent-Element, Referenzelement, Name, Wert)
Script-Funktion und Parameter
-
XML_INSERT_BEFORE
Erstellt ein neues XML-Element und fügt das neue Element vor einem anderen Element ein. - Parent-Element
Verweis auf das Element, in dem sich das Referenzelement befindet
Format: Script-Literal oder Script-Variable -
Referenzelement
Verweis auf das Element, vor dem das neue Element eingefügt werden soll. Er muss sich auf ein direktes Unterelement des Parent-Elements beziehen. Andernfalls tritt ein Laufzeitfehler auf, wenn das Script-Element ausgeführt wird.
Format: Script-Literal oder Script-Variable -
Name
Name des neuen Elements
Format: Script-Literal oder Script-Variable
Hinweis: Verwenden Sie keine Leerzeichen im Elementnamen, da dies zu einem Laufzeitfehler führen kann. -
Wert
Wert des neuen Elements
Format: Script-Literal oder Script-Variable
Rückgabewert
Diese Script-Funktion gibt den Verweis auf das neue Element zurück.
Beispiel
Das folgende Beispiel öffnet die strukturierte Dokumentationsseite "@Details" als XML-Dokument. Das neue Element "New_Element" wird vor dem Unterelement "Sub-Child-B" im Parent-Element "Child1" eingefügt. Danach werden alle Unterelemente des Parent-Elements ausgegeben und überprüft, um sicherzustellen, dass das Element erfolgreich eingefügt wurde.
:SET &XMLDOCU#=XML_OPEN(DOCU,,"@Details")
: IF &XMLDOCU# <> ""
:SET &PARENT# = XML_SELECT_NODE(&XMLDOCU#,"Child1")
:SET &REF# = XML_SELECT_NODE(&XMLDOCU#,"Child1/Sub-Child-B")
:SET &NEW# = XML_INSERT_BEFORE(&PARENT#,&REF#,"Neues_Element","Test")
:SET &ELEMENT# = XML_GET_FIRST_CHILD(&PARENT#)
:WHILE &ELEMENT# <> ""
: SET &NAME# = XML_GET_NODE_NAME(&ELEMENT#)
: P 'Element: &NAME#'
: SET &ELEMENT# = XML_GET_NEXTSIBLING(&ELEMENT#)
:ENDWHILE
:ENDIF
:XML_CLOSE &XMLDOCU#
Der Aktivierungsbericht zeigt folgendes Ergebnis:
Siehe auch:
b