Beim Versuch, SimpleXML Objekte in eine Session zu speichern solltet ihr folgendes Wissen.
Ein trivialer Ansatz wie
if (!isset($_SESSION['xml'])) {
$xml = simplexml_load_string($myxmlstring);
$_SESSION['xml'] = $xml->someNode;
}
var_dump($_SESSION['xml']);
wird fehlschlagen. Im ersten Moment sind die Daten in der Session offenbar gespeichert, beim nächsten Aufruf der Seite werden allerdings alle values verschwunden sein, d.h. der xml-Key der $_SESSION ist zwar vorhanden (weshalb auch das Neuladen übersprungen wird), aber $_SESSION[‚xml‘] = null.
Ihr umgeht das Problem, in dem ihr jeden Wert, den ihr speichern wollt, vorher explizit Typkastet und dann erst in die Session einbringt:
if (!isset($_SESSION['xml'])) {
$xml = simplexml_load_string($myxmlstring);
$_SESSION['xml'] = array(
'someNode' => (int)$xml->someNode,
'otherNode' => (string)$xml->other->node[0]->attribName,
}
var_dump($_SESSION['xml']);
Nun erhaltet ihr die Werte bei jedem Aufruf und könnt die eingelesenen Werte in der Session transportieren.