如何转换的关联数组到一个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))

您不能使用$结果作为一个数组,但你可以通过不同的项目的foreach或while。

如果你想有一个简单的解决方案PEAR的XML_Serialize是相当不错的。做DOM手动可以说是更快。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top