【问题标题】:Xml Php Warning Extra Content at end of documentXml Php 警告文档末尾的额外内容
【发布时间】:2013-04-10 15:19:05
【问题描述】:

我正在尝试编写一个在应用程序和 Web 服务之间发送和接收 XML 的机器人应用程序。当我尝试运行以下代码时

$dom = new domDocument;
$dom = simplexml_load_file('php://input');
$xml = simplexml_import_dom($dom);

$messages = Messages::find_by_sql("SELECT * FROM messages WHERE reciever = '$xml->userName'");
$xmlString = "";
if($messages)
{

    foreach($messages as $message)
    {
    $ts = strtotime($message->ts);
 $xmlString=$xmlString."<Message><sender>".$message->sender."</sender><reciever>".$message->reciever."</reciever><timestamp>"."123"."</timestamp><text>".$message->text."</text></Message>";
    }
}
else
{
    //do something
}
$xmlReturn = new DOMDocument('1.0', 'UTF-8');
$xmlReturn->loadXML($xmlString);
echo($xmlReturn->saveXML());
?>

我在文档末尾收到警告额外内容。

错误来自这一行:$xmlReturn-&gt;loadXML($xmlString);

我不能 100% 确定您可以通过加载字符串来创建 xml 文档,但是我已经看到类似的事情,如果您查看 here,您可以看到它输出的内容,这看起来像是有效的 XML我。

【问题讨论】:

    标签: php xml


    【解决方案1】:

    一个 XML 文档只能有一个根元素。您在这里将多个 &lt;message&gt;…&lt;/message&gt; 组合串在一起,因此缺少封装这些组合的根元素。

    【讨论】:

    • 天才...这就是问题的答案。它缺少一个根节点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 2013-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    相关资源
    最近更新 更多