PHP DOMElement是不可变的.='没有修改允许错误'

Key*_*eyo 14 php xml dom

我无法理解为什么会失败.DOMElement是否需要成为文档的一部分?

$domEl = new DOMElement("Item"); 
$domEl->setAttribute('Something','bla'); 
Run Code Online (Sandbox Code Playgroud)

引发异常

> Uncaught exception 'DOMException' with message 'No Modification Allowed Error';
Run Code Online (Sandbox Code Playgroud)

我原本以为我可以创建一个DOMElement,它会变得可变.

Gor*_*don 33

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

创建一个新的DOMElement对象.该对象是只读的.它可以附加到文档,但是在节点与文档相关联之前,可以不将附加节点附加到该节点.要创建可写节点,请使用DOMDocument::createElementDOMDocument::createElementNS.

  • 我真的很想知道为什么.我试图使用DOMElements来测试打印标签(即我不想去制作整个DOMDocument的麻烦)并遇到这个错误.我真的很想知道这个"功能"背后的思考过程. (5认同)
  • 我知道它是旧的thema,但是有人会关心为什么在PHP中这样做了吗? (4认同)