4D v16.3

DOM Create XML element

Home

 
4D v16.3
DOM Create XML element

DOM Create XML element 


 

DOM Create XML element ( ElementRef ; xPath {; attrName ; attrWert} {; attrName2 ; attrWert2 ; ... ; attrNameN ; attrWertN} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
ElementRef  String in Referenz auf Root XML Element
xPath  Text in Pfad xPath des zu erstellenden XML Elements
attrName  String in Zu setzendes Attribut
attrWert  String, Boolean, Lange Ganzzahl, Zahl, Zeit, Datum in Wert des neuen Attributs
Funktionsergebnis  String in Referenz auf erstelltes XML Element

Die Funktion DOM Create XML element erstellt ein neues Element im XML Element (definiert in ElementRef) im Pfad (definiert in xPath) und fügt bei Bedarf Attribute hinzu.

In ElementRef übergeben Sie die Referenz auf das Root Element, z.B. erstellt mit DOM Create XML Ref.

In xPath übergeben Sie den Zugriffspfad im XML Format des zu erstellenden Elements. In diesem Fall ist das XPath Format verwendbar. Weitere Informationen dazu finden Sie im Abschnitt Überblick über XML DOM Befehle. Gibt es keine Elemente des Pfads, werden sie angelegt.

Im Parameter xPath können Sie direkt den Namen eines Eintrags übergeben, um vom aktuellen Eintrag einen Untereintrag zu erstellen (siehe Beispiel 3).

Hinweis: Haben Sie einen oder mehrere Namensbereiche für den Baum gesetzt, definiert in ElementRef (siehe Befehl DOM Create XML Ref), muss dem Parameter xPath der Name des verwendeten Bereichs vorangestellt werden (zum Beispiel “MyNameSpace:MyElement”).

In den optionalen Parametern attrName und attrWert können Sie Paare Attribute/Attributwerte in Form von Variablen, Feldern oder tatsächlichen Werten übergeben. Sie können beliebig viele Paare übergeben.

Sie können jetzt in attrWert auch einen Wert übergeben, der nicht vom Typ Text ist, das kann Boolean, Ganzzahl, Zahl, Datum oder Zeit sein. 4D steuert die Umwandlung in Text gemäß den folgenden Vorgaben:

TypBeispiel für konvertierten Wert
Boolean"Wahr" oder "Falsch" (nicht übersetzt)
Ganzzahl"123456"
Zahl"12.34" (Dezimaltrenner ist immer ".")
Datum"2006-12-04T00:00:00Z" (RFC 3339 Standard)
Zeit"5233" (Anzahl Sekunden)

Die Funktion gibt als Ergebnis die XML Referenz des erstellten Elements zurück.

Sie wollen folgendes Element erstellen:

 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
   <Elem1>
      <Elem2>
         <Elem3> </Elem3>
         <Elem3> </Elem3>
      </Elem2>
   </Elem1>
</RootElement>

Dazu schreiben Sie:

 C_TEXT(vRootRef;vElemRef)
 vRootRef:=DOM Create XML Ref("RootElement")
 vxPath:="/RootElement/Elem1/Elem2/Elem3"
 vElemRef:=DOM Create XML element(vRootRef;vxPath)
 vxPath:="RootElement/Elem1/Elem2/Elem3[2]"
 vElemRef:=DOM Create XML element(vRootRef;vxPath)

Sie wollen folgendes Element mit Attributen erstellen:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
   <Elem1>
      <Elem2>
         <Elem3 Font=Verdana Size=10> </Elem3>
      </Elem2>
   </Elem1>
</RootElement>

Dazu schreiben Sie:

 C_TEXT(vRootRef;vElemRef)
 C_TEXT($aAttrName1;$aAttrName2;$aAttrVal1;$aAttrVal2)
 $aAttrName1:="Font"
 $aAttrName2:="Size"
 $aAttrVal1:="Verdana"
 $aAttrVal2:="10"
 
 vRootRef:=DOM Create XML Ref("RootElement")
 vxPath:="/RootElement/Elem1/Elem2/Elem3"
 vElemRef:=DOM Create XML element(vRootRef;vxPath;$aAttrName1;$aAttrVal1;
 $aAttrName2;$aAttrVal2)

Sie wollen folgende Struktur erstellen und exportieren:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
   <Elem1>Hello</Elem1>
</Root>

Dazu verwenden Sie die Syntax, die auf einem einfachen Eintragsnamen basiert. Dazu schreiben Sie:

 C_TEXT($root)
 C_TEXT($ref1)
 
 $root:=DOM Create XML Ref("Root")
 $ref1:=DOM Create XML element($root;"Elem1")
 DOM SET XML ELEMENT VALUE($ref1;"Hello")
 DOM EXPORT TO FILE($root;"mydoc.xml")
 DOM CLOSE XML($root)

Bei korrekt ausgeführtem Befehl wird die Systemvariable OK auf 1 gesetzt, sonst auf 0 (Null) und ein Fehler wird zurückgegeben.

Ein Fehler wird erzeugt, wenn:

  • Die Referenz auf das Root Element ungültig ist.
  • Der Name des zu erstellenden Elements ungültig ist, z.B. wenn er mit einer Zahl beginnt.



Siehe auch 

DOM Create XML element arrays
DOM Get XML element
DOM REMOVE XML ELEMENT

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: XML DOM
Nummer: 865

Dieser Befehl ändert die Systemvariable OKDieser Befehl ändert die Systemvariable ErrorThis command can be run in preemptive processes

 
GESCHICHTE 

Geändert: 4D v11 SQL

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)