PHP convert XML to JSON PHP convert XML to JSON xml xml

PHP convert XML to JSON


Json & Array from XML in 3 lines:

$xml = simplexml_load_string($xml_string);$json = json_encode($xml);$array = json_decode($json,TRUE);


Sorry for answering an old post, but this article outlines an approach that is relatively short, concise and easy to maintain. I tested it myself and works pretty well.

http://lostechies.com/seanbiefeld/2011/10/21/simple-xml-to-json-with-php/

<?php   class XmlToJson {    public function Parse ($url) {        $fileContents= file_get_contents($url);        $fileContents = str_replace(array("\n", "\r", "\t"), '', $fileContents);        $fileContents = trim(str_replace('"', "'", $fileContents));        $simpleXml = simplexml_load_string($fileContents);        $json = json_encode($simpleXml);        return $json;    }}?>


I figured it out. json_encode handles objects differently than strings. I cast the object to a string and it works now.

foreach($xml->children() as $state){    $states[]= array('state' => (string)$state->name); }       echo json_encode($states);