Online Example: https://3v4l.org/KcJMX, You can optimize your primary array, Just learn from function.xml-parse-into-struct.php, I hope you will do it.
Use xml_parser_create
and xml_parse_into_struct
to make your desire array.
Using xml_parse_into_struct
you will got two array, one is indexes and other is values. So you can generate your desire result from those index and values, As you the indexes you call easily make the desire array.
Also look at those ($index, $vals)
arrays.
$xml = '<soap:Body><CreateContact xmlns="http://www.tigerpawsoftware.com"><pram><OfficePhoneNumber>8387909727</OfficePhoneNumber><EmailAddress>asheesh9308@gmail.com</EmailAddress></pram></CreateContact></soap:Body>';$p = xml_parser_create();xml_parse_into_struct($p, $xml, $vals, $index);xml_parser_free($p);echo '<pre>';$out = array("OfficePhoneNumber" => $vals[$index['OFFICEPHONENUMBER'][0]]['value'], "EmailAddress" => $vals[$index['EMAILADDRESS'][0]]['value']);print_r($out);
Result
Array( [OfficePhoneNumber] => 8387909727 [EmailAddress] => asheesh9308@gmail.com)