edited
As regards Nigel Ren I made that function
function parseXMLtoArray($xml){ $x = simplexml_load_string($xml); $result = []; function parse($xml, &$res){ $res['name'] = $xml->getName(); $res['value'] = $xml->__toString(); foreach ($xml->attributes() as $k => $v){ $res['attr'][$k] = $v->__toString(); } foreach($xml->children() as $child){ parse($child, $res['children'][]); } } parse($x, $result); return $result; } $resArray = parseXMLtoArray($rawXml); print_r($resArray); this returns such array
Array ( [name] => packet [value] => [attr] => Array ( [crc] => BKJFKHKD54 ) [children] => Array ( [0] => Array ( [name] => info [value] => [attr] => Array ( [action] => fiscalmemory [fiscalmemorysize] => 1048576 [recordsize] => 464 [fiscal] => 1 [uniqueno] => ABC12345678 [nip] => 123-456-78-90 [maxrecordscount] => 2144 [recordscount] => 7 [maxreportscount] => 1830 [reportscount] => 4 [resetmaxcount] => 200 [resetcount] => 0 [taxratesprglimit] => 30 [taxratesprg] => 1 [currencychangeprglimit] => 4 [currencychangeprg] => 0 [fiscalstartdate] => dd-mm-yyyy hh:dd:ss [fiscalstopdate] => dd-mm-yyyy hh:dd:ss [currencyname] => PLN ) ) [1] => Array ( [name] => ptu [value] => 123.23 [attr] => Array ( [name] => A ) ) [2] => Array ( [name] => ptu [value] => 123.23 [attr] => Array ( [name] => B ) ) [3] => Array ( [name] => ptu [value] => 8 [attr] => Array ( [name] => D ) ) [4] => Array ( [name] => sale [value] => 999.23 ) ) ) Is this correct?
Thanks again Nigel