Christian S.: XML Serialisierung (AJAX) PHP -> XML -> JavaScript

Hallo,

ich suche nach einem Weg, wie ich eine PHP Klasse in ein XML Dokument serialisieren kann und dieses über XMLHttpRequst an einen Client schicken kann.

Dort möchte ich das XmlDocument Object in JavaScript wieder als Objekt deserialisieren.

Konkret soll es so aussehen:

PHP-Klasse:

class Beispiel
{
 var $bla;
 var $blupp;
}

daraus soll werden:

<Beispiel>
<bla>wert1</bla>
<blupp>wert2<blupp>
<Beispiel>

beim Client soll dann daraus wieder ein JavaScript Object gemacht werden:

var Beispiel = deserialize(xml_string);
alert(Beispiel.bla);

==> "wert1" wird angezeigt.

Ich hätte das gerne so für AJAX Anwendungen. In MS .NET Anwendungen geht das bereits so wie oben beschrieben, nur dann halt mit z.B. C# Klassen, die man als XML serialisieren kann.
muss es doch auch für PHP geben.
Und den XML String (XmlDocument) muss man halt clientseitig auslesen, mit DOM methoden und am Ende ein eval() drüber, um das Objekt zu erzeugen. Klingt zunächst einfach, hab auch schon bissl rumprogrammiert, aber es ist doch sehr aufwendig..

Ist das überhaupt ein sinniger Ansatz?

Gibts da schon was fertiges oder Ajax/PHP Libraries die sowas können??

Ich möchte halt einfach nur die Daten in schönen, leicht zugänglichen Objekten hin und her schubsen und nicht jedes mal XmlDocument Objekte mit DOM Methoden auslesen bzw. im PHP Skript jedes mal echo "<bla>$wert</bla>" schreiben müssen.

Vielen Dank und viele Grüße
Christian

  1. Hallo,

    Ist das überhaupt ein sinniger Ansatz?

    Ich würde da auf XML verzichten zugunsten von JSON. PHP hat mittlerweile eingebaute Funktionen zur JSON-Kodierung (json_encode()), für ältere Versionen gibt es Erweiterungen. Damit lässt sich ein PHP-Objekt ziemlich einfach serialisieren. An den Client senden und dort wieder in ein JavaScript-Objekt umwandeln geht dann denkbar einfach.

    Mathias

    1. Hi there,

      Ich würde da auf XML verzichten zugunsten von JSON. PHP hat mittlerweile eingebaute Funktionen zur JSON-Kodierung (json_encode()), für ältere Versionen gibt es Erweiterungen.

      Jetzt seh' ich das. Zu spät. Ich hab mir einen Wolf geschrieben, um mysql-output in xml zu verpacken und dann in javascript wieder auseinander zu bekommen. Naja, für irgendetwas wird es schon gut gewesen sein, dieses JSON ist auf alle Fälle sehr interessant, Danke für den Link...