VarFromXml
value VarFromXml ( string strXml , string / value BYREF strName/Variable = "" ... );
Rückgabewert
Rückgabewert |
Beschreibung |
>= 0 |
Erfolgreich durchgeführt. Der Rückgabewert entspricht der Anzahl der Variablen, die mit den Daten der 'var'-Elemente geladen wurden. |
-1 |
Die Zeichenkette strXml ist leer oder ist kein XML-Dokument oder enthält kein 'variables'- bzw. 'var'-Element. |
-2 |
Ein 'var'-Element enthält kein 'name'-Element. |
-3 |
Ein 'var'-Element enthält kein 'value'-Element. |
-4 |
Die Funktion wurde ohne Zielvariablenangabe aufgerufen und für ein 'var'-Element wurde keine passende Variable mit dem Namen des 'name'-Elements gefunden. |
-5 |
Die Funktion wurde mit Zielvariablenangabe aufgerufen, jedoch ist die Anzahl der 'var'-Elemente nicht gleich der Anzahl der übergebenen Zielvariablen. |
-6 |
Der Datentyp des 'datatype'-Elements eines 'var'-Elements kann nicht verarbeitet werden. Gültig sind 'value', 'array' und 'string'. |
-7 |
Die Funktion wurde mit Zielvariablenangabe aufgerufen, jedoch wurde für einen, per Zeichenkette angegebenen, Variablennamen keine entsprechende Variable gefunden. |
Parameter
strXml
Eine XML-formatierte Zeichenkette, die ein 'variables'-Element enthält, das ein Array von 'var'-Elementen besitzt, mit deren Inhalte Variablen geladen werden sollen.
strName/Variable
Der Name der Variable als Zeichenkette bzw. die Variable, das mit den Daten eines 'var'-Elements geladen werden soll. Wird kein einziger Variablenname bzw. keine einzige Variable angegeben, so werden die Variablen, wie diese im jeweiligen 'var'-Element mit dem Inhalt des 'name'-Elements angegeben ist, mit den entsprechenden Daten der 'value'-Elements geladen.
Bemerkungen
Lädt Variablen mit den Daten, wie diese im XML-formatierten String vorgegeben sind. Werden Variablen bzw. Variablennamen übergeben, so dürfen diese anders bezeichnet sein, als wie diese in den 'var'-Elementen im 'name'-Element eingetragen sind. Es müssen dann jedoch genau so viele Variablen/Variablennamen übergeben werden, wie 'var'-Elemente vorhanden sind.
Beispiel
string json, xml; //Speichert die Daten der Variablen im Json-Format (als lesefreundliche Zeichenkette) json = VarToJson(Temperature, TemperatureHistory, strStatus); //Inhalt von json nach dem Aufruf von VarToJson // //{ // "variables": { // "var": [ // { // "name": "Temperature", // "value": 81.03 // }, // { // "name": "TemperatureHistory", // "value": [ // 78.34, // 79.71, // 80.23, // 81.03 // ] // }, // { // "name": "strStatus", // "value": "OK" // } // ] // } //} // //Speichert die Daten der Variablen im Json-Format (als kompakte Zeichenkette) json = VarToJsonCompact(Temperature, TemperatureHistory, strStatus); //Inhalt von json nach dem Aufruf von VarToJsonCompact // //{"variables":{"var":[{"name":"Temperature","value":81.03},{"name":"TemperatureHistory","value":[78.34,79.71,80.23,81.03]},{"name":"strStatus","value":"OK"}]}} // //Variablen mit anderen Werten besetzen Temperature = 0; ArrayRemoveAll(TemperatureHistory); strStatus = ""; //Nach dem Aufruf von 'VarFromJson(json);' besitzen die Variablen 'Temperature', 'TemperatureHistory' //und 'strStatus' die Werte wie sie im string 'json' vorgegeben sind. VarFromJson(json); //Lädt die Variablen mit den Werten, wie diese im string 'json' definiert sind value a; array b; string c; //Nach dem Aufruf von 'VarFromJson(json);' besitzen die Variablen 'a', 'b' und 'c' die Werte wie sie der Reihe nach im string 'json' vorgegeben sind. //Wichtig ist, dass jede Variable im Json-Objekt eine stellvertretende Übergabevariable hat und diese den gleichen Datentyp besitzt. VarFromJson(json, a, b, c); //Lädt die Variablen 'a', 'b', 'c' mit den Werten der var-Objekte, wie sie der Reihe nach im string 'json' definiert sind. //Speichert die Daten der Variablen im XML-Format xml = VarToXml(Temperature, TemperatureHistory, strStatus); //Inhalt von xml nach dem Aufruf von VarToXml // //<?xml version="1.0" encoding="utf-8"?> //<variables> // <var> // <name>Temperature</name> // <datatype>value</datatype> // <value>81.03</value> // </var> // <var> // <name>TemperatureHistory</name> // <datatype>array</datatype> // <value>78.34,79.71,80.23,81.03</value> // </var> // <var> // <name>strStatus</name> // <datatype>string</datatype> // <value>OK</value> // </var> //</variables> //
Siehe auch VarFromJson, VarToJson, VarToJsonCompact, VarToXml