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>
//

Die Variablen

Siehe auch VarFromJson, VarToJson, VarToJsonCompact, VarToXml