假设我有以下代码。
$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()。但由于不能设置两次,如何检查是否设置?
发布于 2013-04-19 15:28:54
经过几个小时的尝试,就在这篇文章之后,我找到了解决方案。来自DOMAttr的isId()允许检查属性。
https://stackoverflow.com/questions/16099343
复制相似问题