2
我有这样的方法,通过所有节点循环:遍历所有的DOM元素,包括添加的元素
public function processNode(DOMNode $element){
if($element instanceof DOMElement){
foreach($element->childNodes as $node){
// Adds child nodes and/or modifies the current node
$this->editNode($node);
if($node->hasChildNodes()){
$this->processNode($node);
}
}
}
}
但是,我认为,当节点在editNode()
方法中添加的,这不接他们,处理这些节点。
有没有更好的方式让我遍历所有节点,包括已经通过editNode()
添加的节点?
如果您能够将某些节点作为传递到editNode的'$ node'的兄弟节点预先加入/追加一些节点,即使使用'childNodes'的'liveliness'也不会解决。是否有可能重新组织您的代码,所以不会引入这样的更改? – raina77ow
可能不是,因为我添加了一个名为'repeat'的属性,它看起来像这个'