преобразовать ассоциированный массив в XML в php - PullRequest
1 голос
/ 06 октября 2009

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

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

Ответы [ 4 ]

1 голос
/ 06 октября 2009

Использование 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();
0 голосов
/ 06 октября 2009

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

0 голосов
/ 06 октября 2009

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

while($row = mysql_fetch_assoc($result))

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

0 голосов
/ 06 октября 2009

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

...