2009-10-06 54 views
1

我寫$xml = new DOMDocument();它會自動創建<?xml version="1.0"?>。我需要不創建它。我怎麼做?如何從輸出中排除XML prolog?

一個解決方案是在找到的第一個<的索引處搜索第一個「>」和strsub。但我喜歡更好的方式來做到這一點。

+0

我需要,我發現了幾個類似的問題(回答)這裏: - HTTP://計算器.com/questions/5706086/php-domdocument-output-without-xml-version-1-0-encoding-utf-8 - efreedom我國技術問答我國技術問答關於我們|隱私權政策|聯繫我們這頁的自動翻譯英文-a-xml-is-created-in-php/17362351#17362351 - http://stackoverflow.com/questions/9260096/hide-xml-declaration-in-files-generated-using-php每個線程都有一個特定的解決方案這可能適合您的需求。 – hrvoj3e 2013-06-28 10:23:03

+0

如果您認爲此問題與另一個問題重複,請將其標記爲不要添加答案。 – 2013-06-28 12:30:24

回答

5

當你使用saveXML時,傳入根元素作爲node參數。只有根元素及其內容將被序列化,而不是任何XML聲明,文檔類型,註釋或根之外的PI。

$doc->saveXML($doc->documentElement); 

或者,如果你需要其他的東西,卻唯獨沒有多餘的宣言:今天這個

$result= ''; 
foreach($document->childNodes as $node) 
    $result.= $document->saveXML($node)."\n";