XML_TO_STRING

Verwenden Sie die Script-Funktion XML_TO_STRING, um die XML-Struktur eines bestimmten Elements (Handle) abzurufen und in einen String zu konvertieren. Sie können den String, den XML_TO_STRING zurückgibt, zur weiteren Verarbeitung verwenden, indem Sie ihn in einer Script-Variablen speichern.

Syntax

XML_TO_STRING (Referenz)

Script-Funktion und Parameter

  • XML_TO_STRING
    Ruft den XML-Code eines bestimmten Elements als Text ab.

  • Referenz
    Verweis auf das zugehörige XML-Element. Alle Unterelemente des angegebenen Elements werden berücksichtigt.
    Format: Script-Literal oder Script-Variable
    Tipps: Mit Referenzen oder Handles können Sie eine Position innerhalb des XML-Dokuments identifizieren und bearbeiten. Sie können die folgenden Script-Funktionen verwenden, um Handles abzurufen:

    • XML_OPEN Gibt das allererste Handle aus, das sich auf das Root-Element bezieht.
    • XML_SELECT_NODE
      Gibt den Verweis auf das gesuchte Element zurück oder einen leeren String, wenn das gesuchte Element nicht existiert.
    • XML_GET_FIRST_CHILD
      Gibt den Verweis auf das erste Unterelement eines Elements in einem XML-Dokument zurück.

Rückgabewert

Diese Script-Funktion gibt den XML-Code der definierten Referenz als String zurück.

Beispiel

Das folgende Beispiel öffnet die strukturierte Dokumentationsseite "@Details" als XML-Dokument. Das vollständige XML-Dokument wird dann in einen String konvertiert und in einer Script-Variablen gespeichert. In dieser Script-Variablen ersetzen Sie den String "test" durch "prod". Sobald das alte XML-Dokument geschlossen wird, wird der neue XML-Code in der Script-Variablen als XML-Dokument erneut geöffnet und seine Elemente (Elemente erster Ebene) werden in einer Schleife in das Aktivierungslog geschrieben.

:SET &XMLDOCU#=XML_OPEN(DOCU,,"@Details")
: DEFINE &XMLSTRINGNEW#,string

:IF &XMLDOCU# <>
""
 

: SET &XMLSTRING# = XML_TO_STRING( &XMLDOCU# )
:SET &XMLSTRINGNEW# = STR_SUB(&XMLSTRING#,"test","prod")


: ENDIF
: XML_CLOSE &XMLDOCU#

:SET &XMLDOCU#=XML_OPEN(STRING,&XMLSTRINGNEW#)

:SET &ELEMENT# = XML_GET_FIRST_CHILD(&XMLDOCU#)
:WHILE &ELEMENT# <> ""
: SET &NAME# = XML_GET_NODE_NAME(&ELEMENT#)
: P 'Element: &NAME#'
: SET &ELEMENT# = XML_GET_NEXTSIBLING(&ELEMENT#)
:ENDWHILE

Siehe auch: