在 php 中将关联数组转换为 XML

发布于 2024-08-07 01:34:55 字数 256 浏览 4 评论 0原文

如何将关联数组转换为 XML 字符串?我 找到了这个,但在运行该行时出现错误“在非对象上调用成员函数 addChild()”

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

How do i convert an associate array to an XML string? I found this but get the error 'Call to a member function addChild() on a non-object' when running the line

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

坠似风落 2024-08-14 01:34:55

使用 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();

Use the PHP Document Object Model:

$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();
神经大条 2024-08-14 01:34:55

您是否初始化了 $xml 对象?这可能是你的问题。

Did you initialize the $xml object? That's probably your problem.

月竹挽风 2024-08-14 01:34:55

它与您执行类似操作的方式非常相似:

while($row = mysql_fetch_assoc($result))

您不能将 $result 用作数组,但您可以 foreach 或 while 遍历不同的条目。

Its pretty similar to how you would do something like this:

while($row = mysql_fetch_assoc($result))

You can't use $result as an array, but you can foreach or while through the different entries.

灼疼热情 2024-08-14 01:34:55

如果您想要一个简单的解决方案,PEAR 的 XML_Serialize 非常好。手动执行 DOM 可以说更快。

PEAR's XML_Serialize is pretty good if you want a easy solution. Doing the DOM manually is arguably faster.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文