Ein php Objekt als XML speichern?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktivierten fehlermeldungen
aufruf
beispiel
code
dank
datum
element
ergebnis
feststelle
funktion
gefunden code
http
machen
not
objekt
server
speichern
string
text
url
-
Hallo
ich habe ein Objekt in PHP, diese Daten will ich als XML Datei speichern ... aber wie ?
das Objekt ist in mehrere Ebenen verschachtelt
und enthält weitere Objekte, Arrays und auch HTML-Codes
gibt es eine Funktion, die Objekte und Arrays in XML umwandelst
... quasi das Gegenstück zu Simle XML Load ?
stdClass Object ( [Gesamt] => 57 [Ergebnisse] => stdClass Object ( [Elemente] => Array ( [0] => stdClass Object ( [Id] => 1 [Info1] => stdClass Object ( [MinRate] => 2 [MaxRate] => 7 ) [Info2] => Beispiel <strong>Text </strong> mit HTML ) [1] => stdClass Object ( [Id] => 2 [Info1] => stdClass Object ( [MinRate] => 3 [MaxRate] => 5 ) [Info2] => Beispiel <strong>Text </strong> mit HTML ) [2] => stdClass Object ( [Id] => 3 [Info1] => stdClass Object ( [MinRate] => 1 [MaxRate] => 9 ) [Info2] => Beispiel <strong>Text </strong> mit HTML ) ) ) )
Wie bringe ich diese Daten aus dem Objekt sauber in XML
damit ich den XML-STring dann als .xml speichern kann ? (cachen)
gibt es eine Gegenstück zu Simle XML Load ... Simple XML Write ?
Danke
Beitrag zuletzt geändert: 28.1.2012 12:52:41 von soboo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
soboo schrieb:
gibt es eine Funktion, die Objekte und Arrays in XML umwandelst
... quasi das Gegenstück zu Simle XML Load ?
Ja, die gibt es: XMLwrite
EDIT: Sorry, etwas zu kurz gegriffen! Hiermit sollte es komfortabler zu machen sein: PEAR XML serializer
Wenn das nicht zur Verfügung steht, wäre eine fertige Class sicher hilfreich: gesucht bei phpclasses.org
Beitrag zuletzt geändert: 28.1.2012 13:34:06 von fatfreddy -
Danke
ja, XMLWrite ist ja wieder nur Stückchen-Weise so weit ich das sehe,
eine fertige Klasse dafür wäre ne Idee, muss ich mir mal paar ansehen
eine ganz einfache Variante habe ich auch bei php.net unter SimpleXML noch gefunden
<?php class Obj2xml { var $xmlResult; function __construct($rootNode){ $this->xmlResult = new SimpleXMLElement("<$rootNode></$rootNode>"); } private function iteratechildren($object,$xml){ foreach ($object as $name=>$value) { if (is_string($value) || is_numeric($value)) { $xml->$name=$value; } else { $xml->$name=null; $this->iteratechildren($value,$xml->$name); } } } function toXml($object) { $this->iteratechildren($object,$this->xmlResult); return $this->xmlResult->asXML(); } } ?>
Aufruf:
$converter = new Obj2xml("root"); // ---- Name des Rooot-Elements $newxml = $converter->toXml($object); // ---- Object Daten zu XML String
leider macht diese Klasse keinen Zeilenumbruch oder Einrückung, wenn ein neues Element anfängt
aber das ist ja nur Schönheits-Problem, zur Not wird das wohl gehen ...
... ist der PEAR XML serializer auf Lima-City verfügbar ?
bzw. wie kann ich feststellen, ob er auf einem Server (Webspace) installiert ist
... und wie greife ich dann darauf zu ?
Beitrag zuletzt geändert: 28.1.2012 14:03:35 von soboo -
soboo schrieb:
Das schnellste ist wahrscheinlich ein Script hochladen das den PEAR XML-Serializer nutzt und bei aktivierten Fehlermeldungen schauen ob er einen Fehler wirft wie "Funktion nicht definiert".
... ist der PEAR XML serializer auf Lima-City verfügbar ?
bzw. wie kann ich feststellen, ob er auf einem Server (Webspace) installiert ist
... und wie greife ich dann darauf zu ? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage