2015-11-03 75 views
0

拖尾的回報,我從生成數據庫查詢一些XML如下:PHP - 在生成的XML

$doc = new DOMDocument('1.0', 'utf-8'); 
$doc->formatOutput = true; 
$contactsElement = $doc->createElement('contacts'); 
$doc->appendChild($contactsElement); 

foreach($contacts as $contact){ 
    $firstName = $contact->getField('first') ; 
    $lastName = $contact->getField('last') ; 

    $contactElement = $doc->createElement('contact'); 
    $firstNameElement = $doc->createElement('first_name', $firstName); 
    $lastNameElement = $doc->createElement('last_name', $lastName); 

    $contactElement->appendChild($firstNameElement); 
    $contactElement->appendChild($lastNameElement); 
    $contactsElement->appendChild($contactElement); 
} 

echo $doc->saveXML(); 

這是工作良好,但它產生在年底閉幕後的附加導線。這裏有一個例子:

<?xml version="1.0" encoding="utf-8"?> 
    <contacts> 
    <contact> 
     <first_name>Penny</first_name> 
     <last_name>Lancaster</last_name> 
    </contact> 
    <contact> 
     <first_name>Geoff</first_name> 
     <last_name>McDermott</last_name> 
    </contact> 
</contacts> 
// blank line is here 

我看不出有什麼可能會造成這個,或者如果有一個語法的變化,我需要做 - 至於如何防止尾隨空白行出現在生成的XML有什麼建議?

+0

你有一個結束'>'在你的文件 - 標籤?如果是這樣,請將其刪除 –

+0

我確實有一個結束?>標記 - 已將其刪除,但仍然會得到與XML末尾的空行相同的結果。 – user982124

+0

改爲將我的修復程序添加爲答案。 –

回答

0

不知道爲什麼會出現拖尾新的生產線,但是你可以用這個解決它:

echo trim($doc->saveXML());