преобразовать ассоциированный массив в XML в php

Как преобразовать ассоциированный массив в строку XML? Я нашел это, но получаю сообщение об ошибке «Вызов функции-члена addChild () для не-объекта» при запуске строки

$node = $xml->addChild($key); 

Используйте объектную модель документа PHP:

 $xml = new DOMDocument('1.0', 'utf-8'); $root = $xml->createElement('top'); $xml->appendChild($root); foreach ($arr as $k => $v) { $node = $xml->createelement($k); $text = $xml->createTextNode($v); $node->appendChild($text); $root->appendChild($node); } echo $xml->saveXml(); 

Вы инициализировали объект $ xml? Вероятно, это ваша проблема.

Его довольно похоже на то, как вы будете делать что-то вроде этого:

 while($row = mysql_fetch_assoc($result)) 

Вы не можете использовать $ result в качестве массива, но вы можете использовать foreach или while через разные записи.

PEAR XML_Serialize довольно хорош, если вы хотите простое решение. Выполнение DOM вручную возможно быстрее.