【发布时间】:2015-06-29 12:17:32
【问题描述】:
标题有点混乱,但我遇到的错误是-
$xml="<Contacts>";
for($i=0;$i<count($results['records']);$i++){
$xml. = "<Contact>
<Name>".$results['records'][$i]['name']."</Name>";
}
$xml.="</Contacts>";
当我尝试向字符串添加内容(连接)时,我收到 500 内部服务器错误。我相信问题出在“$results['records'][$i]['name']”中。我认为解决方案是用变量替换 JSON 值并将其括在 {} 中......也许我错了,我不知道。
更新:
如果我“回显”.$results['records'][$i]['name']."";它工作正常。
【问题讨论】:
-
手动生成 XML 绝对是个坏主意。
-
@YeldarKurmangaliyev ...为什么?
-
另外,
<Contact>永远不会关闭。 -
<contact> </contact>的结束标签在哪里 -
Yeldar 是对的,您应该使用 DOMDocument 类或第三方库来构建在需要时变成 XML 字符串的对象和数组。无论如何,请直接发布导致 500 的源代码,如果您可以查看 Apache 错误日志。它包含错误描述,因为 500 是服务器端生成的。