2011-06-15 7 views
12

मुझे समझ में नहीं आता कि यह क्यों विफल रहता है। क्या किसी दस्तावेज़ को दस्तावेज़ का हिस्सा बनने की आवश्यकता है?PHP डोमेलेमेंट अपरिवर्तनीय है। = 'कोई संशोधन अनुमत त्रुटि'

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

अपवाद

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

मैं मैं सिर्फ एक DOMElement बना सकते हैं सोचा होगा फेंकता है और यह अस्थायी होगा।

+2

मैंने पाया कि डोमेलेमेंट कुछ काम करने के लिए उचित रूप से काम करने के लिए होना चाहिए। – Keyo

उत्तर

27

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

एक नया DOMElement वस्तु बनाता है। यह ऑब्जेक्ट केवल पढ़ा गया है। इसे किसी दस्तावेज़ में जोड़ा जा सकता है, लेकिन जब तक नोड किसी दस्तावेज़ से संबद्ध न हो जाए तब तक अतिरिक्त नोड्स को इस नोड में जोड़ा नहीं जा सकता है। एक लिखने योग्य नोड बनाने के लिए, DOMDocument::createElement या DOMDocument::createElementNS का उपयोग करें।

+2

मुझे पता है कि यह पुराना थीम है, लेकिन क्या कोई टिप्पणी करेगा कि PHP में ऐसा क्यों किया जाता है? – userfuser

+2

मैं वास्तव में जानना चाहूंगा क्यों। मैं टैग बनाने के लिए टैग बनाने का परीक्षण करने के लिए DOMElements का उपयोग करने की कोशिश कर रहा था (यानी मैं एक संपूर्ण DOMDocument बनाने की परेशानी पर नहीं जाना चाहता था) और इस त्रुटि में भाग गया। मैं वास्तव में इस "फीचर" के पीछे विचार प्रक्रिया जानना चाहूंगा। – weux082690

संबंधित मुद्दे