假设我有以下代码。
$newdom = new DOMDocument();
$elem = new DOMElement('div');
$text = new DOMText('testing');
$elem = $newdom->importNode($elem,true);
$newdom->appendChild($elem);
$text = $newdom->importNode($text,true);
$elem->appendChild($text);
$elem->setAttribute('id','foo');
$elem->setIdAttribute('id',true);
$elem->setIdAttribute('id',true); //set twice will cause C14N() fail
echo $newdom->getElementById('foo')->C14N();
如果 setIdAttribute() 被调用两次,那么 C14N() 将不起作用。现在,我的问题是,如果我有一个 DOMElement 作为函数的输入,为了使 DOMElement 可以是 getElementById(),我需要 setIdAttribute()。但是既然不能设置两次,那么如何检查是否设置了呢?