| Код | function xmltoarray($item) { foreach($item as $name => $child) { $attr = (array)$child->attributes(); $array[][$name] = array("@content" => xmltoarray($child), "@attributes" => isset($attr['@attributes']) ? $attr['@attributes'] : ''); } return isset($array) ? $array : array((string)$item); }
function arraytoxml($array, &$xml = FALSE) {
if($xml === FALSE) { $xml = new SimpleXMLElement("<control></control>"); }
foreach ($array as $name => $item) {
if(isset($item["@attributes"])) { $xml->addChild($name); arraytoxml($item, $xml->$name); } else { if(is_array($item)) arraytoxml($item, $xml); }
}
return $xml; }
$filename = 'xml/static.xml'; $xml = simplexml_load_file($filename); $array = xmltoarray($xml); $xml = arraytoxml($array); print_r($array); print_r($xml);
|
В общем я остановился на таком коде, если кто успеет доработать раньше меня его найдет обещанная награда. |