XML-Script in ein Array lesen, geht es, wenn ja: Wie?

Ich habe mal eine Frage:

Gibt es ein einfaches Verfahren diese XML-Datei per Script in ein Array zu packen.

Wie ich schon berichtete, liest IPSymcon mein Poykeys56E speziel die Word, DWord-Register über Modbus TCP nicht richtig aus.

So komme ich ev. auch in IPSymcon die Daten ran.
Das XML-File sieht so aus:

<?xml version="1.0" encoding="ISO-8859-1"?><devStat><in>1</in><in>1</in><in>1</in><in>0</in><in>0</in><in>0</in><in>1</in><in>1</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><in>1</in><in>1</in><in>1</in><in>0</in><in>0</in><in>0</in><in>0</in><in>0</in><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><enc>00000</enc><anMax>4096</anMax><anIn>1628</anIn><anIn>1629</anIn><anIn>1628</anIn><anIn>1628</anIn><anIn>1629</anIn><anIn>1628</anIn><anIn>1625</anIn><out>254</out><out>255</out><out>255</out><out>255</out><out>255</out><out>000</out><out>124</out></devStat>

Gruß Helmut

Du könntest das File lesen und abarbeiten, z.B. wie bei einem RSS Feed;).

Oder ins Array mit

$array = serializeSimpleXML(simplexml_load_file('...xmlfile...'));

Danke Ralf,
dann würde in $array[0] eine „o“ oder eine „1“ stehen je nach Wert?

Ist das so einfach? Kann ich nicht glauben… oder was würde da stehen?

Gruß Helmut

Edit: Da werde ich gleich wegen meiner Blödheit bestraft:

Fatal error: Call to undefined function serializeSimpleXML() in [ModBus Pokey\Array lesen] on line 4

Hallo Helmut!

Muss es denn ein Array sein?


$array = simplexml_load_file('...xmlfile...');

echo $array->out[3];

echo $array->out[3] ließt den 4. Wert von <out> aus.

Gruß,
Christian.

Danke Christian,
Fehlermeldung bekomme ich keine mehr, aber das Ergebniss stimmt nicht…

Gruß Helmut

Edit: mit „var_dump($array);“ bekomme ich eine richtige Ausgabe, aber wie werte ich Die aus?

Hallo Helmut!

Achso, war ein bisschen verwirrend, weil es in deiner xml-file ja auch <out> gibt…

mit $array->in[0] usw. solltest du dann diese Werte bekommen.

Gruß,
Christian.

Bingo, vielen Dank Christian!

Dann muß man im XML nachschauen, wie die Werte verpackt sind.

Wieder was gelernt.

Gruß Helmut