ainoy31 Posted November 16, 2007 Share Posted November 16, 2007 Hello- I need a second eye on this code I have. I am parsing an XML file and returning the data back as an array. However, nothing returns back even though I can echo the data to the screen. Here is the code: predump(track_PITD($pro)); function track_PITD($pro) { $xmlurl = "http://xxx/xxx/xxx.asp?pronumber=$pro&All=yes"; $data = file_get_contents($xmlurl); if($data) { $xmlparser = xml_parser_create(); $fp = fopen($xmlurl, 'r'); $xmldata = fread($fp, 4096); xml_parse_into_struct($xmlparser,$xmldata,$values,$index); xml_parser_free($xmlparser); foreach($values as $xmlarray) { if($xmlarray[tag] == 'PROSTATUS') { $pu_date = $xmlarray[attributes][PICKUPDATE]; if($xmlarray[attributes][DATEDELIVERED] != '') { $deliv_date = $xmlarray[attributes][DATEDELIVERED]; $status = 'Delivered'; $delivered = true; } else { $deliv_date = null; $delivered = false; } } } return array($delivered, false, $status, $deliv_date, $pu_date); } } My predump array should have the $pu_date, $deliv_date, and the status but the returned array is empty. Hope this clear enough. Much appreciation. Thank you. AM Quote Link to comment Share on other sites More sharing options...
ainoy31 Posted November 16, 2007 Author Share Posted November 16, 2007 I figured it out. Solution: Instead of if($xmlarray[attributes][DATEDELIVERED] != ''), I had to do if($xmlarray[attributes][DATEDELIVERED] != 'null), since I was not looking for an empty string but value. As for the $pu_date, I had to check to see if it has been set using if(!isset($pu_date)) { $pu_date = $xmlarray[attributes][PICKUPDATE]; } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.