2011-06-15 62 views
12

我不明白爲什麼這會失敗。 DOMElement是否需要成爲文檔的一部分?PHP DOMElement是不可變的。 ='沒有修改允許的錯誤'

$domEl = new DOMElement("Item"); 
$domEl->setAttribute('Something','bla'); 

拋出異常

> Uncaught exception 'DOMException' with message 'No Modification Allowed Error'; 

我本來以爲我可以創造一個DOMElement,這將是可變的。

+2

我發現DOMElement必須是某些DOMDocument的一部分才能正常工作。 – Keyo 2011-06-15 02:28:28

回答

27

http://php.net/manual/en/domelement.construct.php

創建一個新的一個DOMElement對象。 此物品是隻讀。它可以被附加到文檔中,但是直到該節點與文檔相關聯時,附加節點纔可以被附加到該節點。要創建可寫節點,請使用DOMDocument::createElementDOMDocument::createElementNS

+2

我知道這是老主題,但任何人都會關心爲什麼在PHP中這麼做嗎? – userfuser 2014-10-12 17:20:08

+2

我真的很想知道爲什麼。我試圖使用DOMElements來測試打印標籤(即,我不想去製造整個DOMDocument的麻煩)並且遇到了這個錯誤。我真的很想知道這個「功能」背後的思考過程。 – weux082690 2015-07-24 15:33:53