Итак, как перевести ассоциативный массив в XML? Воспользуемся «родным» для PHP классом SimpleXMLElement.
В качестве основного контейнера используем тег <values/>, а установить UTF-8 кодировку нам поможет небольшая хитрость. Инициализация будет выглядеть примерно вот так:
1 |
$xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><values/>'); |
Вы конечно же можете использовать любой тег. :)
Теперь нам нужен ассоциативный массив. Например, вот такой:
1 2 3 4 5 6 7 8 9 |
$test_array = array( 'Тип кузова' => 'купе', 'Количество дверей' => 2, 'Количество мест' => 2, 'Класс автомобиля' => S, 'Положение руля' => 'слева', 'Страна производитель' => 'Италия', 'Выпуск с, месяц/год' => '6/2011' ); |
Переведем массив в набор тегов XML. Его ключи станут названием свойств XML. Нет ничего проще:
1 2 3 4 5 |
foreach ($test_array as $k => $v) { $xml->addChild($k, $v); } echo $xml->asXML(); |
Вот, что получим на выходе:
1 2 3 4 5 6 7 8 9 10 |
<?xml version="1.0" encoding="UTF-8"?> <values> <Тип кузова>купе</Тип кузова> <Количество дверей>2</Количество дверей> <Количество мест>2</Количество мест> <Класс автомобиля>S</Класс автомобиля> <Положение руля>слева</Положение руля> <Страна производитель>Италия</Страна производитель> <Выпуск с, месяц/год>6/2011</Выпуск с, месяц/год> </values> |