2013-04-10 40 views
0

我正在嘗試編寫一個在應用程序和Web服務之間發送和接收XML的Droid應用程序。當我嘗試運行以下代碼時Xml Php警告在文檔末尾的額外內容

$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->loadXML($xmlString);

我不是100%肯定,你可以通過加載一個字符串創建一個XML文件,但我見過類似的事情做,如果你看一下here你可以看看它輸出什麼,這對我來說看起來像有效的XML。

回答

1

XML文檔只能有一個根元素。您在這裏將多個<message>…</message>組合串在一起,因此缺少封裝這些元素的根元素。

+0

天才......這是問題的答案。它缺少一個根節點 – ed209 2013-04-10 15:49:10

相關問題