2011-06-15 2 views
12

이것이 실패하는 이유를 이해할 수 없습니다. DOMElement가 문서의 일부가되어야합니까?PHP DOMElement는 변경 불가능합니다. = '수정 불가능 오류'

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

예외를

> Uncaught exception 'DOMException' with message 'No Modification Allowed Error'; 
내가 난 그냥 DOMElement을 만들 수 있다고 생각했을 것이다

를 throw하고는 변경할 수있을 것이다.

+2

제대로 작동하려면 DOMElement가 일부 DOMDocument의 일부 여야합니다. – Keyo

답변

27

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

새로운 DOMElement 객체를 만듭니다. 이 객체는 읽기 전용입니다. 문서에 추가 될 수 있지만, 노드가 문서와 연관 될 때까지는 추가 노드가이 노드에 추가되지 않을 수 있습니다. 쓰기 가능한 노드를 만들려면 DOMDocument::createElement 또는 DOMDocument::createElementNS을 사용하십시오.

+2

나는 그것이 옛날 주제라는 것을 알고있다.하지만 PHP에서 그렇게 된 이유에 대해서는 누구나 신경 써야 할까? – userfuser

+2

나는 이유를 정말로 알고 싶다. DOMElements를 사용하여 인쇄 할 태그를 테스트하려고했습니다. 즉, 전체 DOMDocument를 만드는 데 어려움을 겪지 않으려 고했습니다.이 오류가 발생했습니다. 이 "기능"의 사고 과정을 알고 싶습니다. – weux082690