SimpleXML und json_encode
Niko
- php
0 Niko
Aloa,
Ich habe hier zum einen eine XML-Datei und zum anderen ein PHP Script, welches Teile dieser XML-Datei in einen JSON-String umwandeln soll, welchen ich dann später mit JavaScript weiterverarbeiten kann.
Jetzt tritt dabei das Problem auf, dass json_encode beim meinem SimpleXML-Element einige Sachen einfach verschluckt, also nicht mit umwandelt!
Teil der XML-Datei:
---------------------------------
<field>
<type>select</type>
<name>mySelect</name>
<label>Auswählen:</label>
<size>1</size>
<option value="wert">Option 1</option> //Hier wird value="wert" verschluckt
<option>Option 2</option>
<showOnCreate>true</showOnCreate>
<description>Hier steht ein beschreibender Text</description>
<help>Hier steht ein anderer Hilfetext</help>
</field>
Mein (vereinfachter) PHP-Code:
---------------------------------
$xml = simplexml_load_file(@Pfad der XML-Datei@);
//Raussuchen des richtigen Knotens, dann:
$field = @Richtiger Knoten@;
echo json_encode($field);
Wenn ich diesen XML-Code mit SimpleXML lade und das entstehende Objekt mit json_encode in einen JSON-String umwandeln lasse wird bei <option value="wert">Option 1</option> der value="wert" Teil nicht mit umgewandelt! Im Klartext heißt dass:
{
"type":"select",
"name":"mySelect",
"label":"Ausw\u00e4hlen:",
"size":"1",
"option":[
"Option 1", //Hier fehlt etwas!
"Option 2"],
"showOnCreate":"true",
"description":"Hier steht ein beschreibender Text",
"help":"Hier steht ein anderer Hilfetext"
}
Mit var_dump($field) wird ebendfalls der angesprochene Teil weggelassen!
Was mache ich falsch oder habe ich was vergessen? Gibt es da vlt noch ne einfachere Methode XML in JSON umzuwandeln? Hab schon ne xml2json.php Datei probiert (weiß leider nicht mehr von wo), aber die hatte genau den gleichen Fehler!
Lg Niko
Vlt noch wichtig:
Wenn ich den Knoten über PHP ansteuere gehts, also:
$field->option[0]['wert']
existiert und hat auch den richtigen Wert! Da muss irgendwas SimpleXML-Typisches beim Umwandeln nicht ganz hinhauen würd ich sagen!
MfG