Php 如何在不删除引用的子项的情况下追加子项
下面是我的xml示例。比如说:Php 如何在不删除引用的子项的情况下追加子项,php,dom,Php,Dom,下面是我的xml示例。比如说: <Elements> <Element> <list>123</list> </Element> <Element> <list>456</list> </Element> </Elements> 但元素1的内容被删除。但是添加到元素2 有没有办法让元素1的内容停留在那里并添加到
<Elements>
<Element>
<list>123</list>
</Element>
<Element>
<list>456</list>
</Element>
</Elements>
但元素1的内容被删除。但是添加到元素2
有没有办法让元素1的内容停留在那里并添加到元素2中?我也尝试将其附加到元素1,但这并不是我的代码必须遵循的方式。请帮忙(谢谢,cloneNode是一个不错的选择。例如:
element[1].appendChild(element[0].childNodes[0].cloneNode(true));
上述操作将获取元素节点列表中第一项的第一个子项,并将其作为子项附加到元素节点列表中的第二项,而无需将其从原始位置移除。您可以发布您正在使用的代码吗?您可能只需调用附加元素上的cloneNode,以制作其副本,如:
element->item(0)->cloneNode(true);
我可以使用element->item(0)->cloneNode(element1);?传递到cloneNode的值只是一个布尔值,表示是否要在克隆中包含子节点。没有代码,我只是猜测要克隆哪个元素,但可以像elementYouWantToClone->cloneNode(true)一样使用它所以你想克隆element->item(1)
然后你会调用element->item(1)->cloneNode(true)
。或者如果element1
是一个DOMNode,element1->cloneNode(true)
。我已经编辑了内容。谢谢。我现在正在尝试使用cloneNode。所以你的最后一行是$element2->appenchild($element1->cloneNode(真))
。但是,这将复制$element2
下的实际$element1
。如果只需要列表
节点,则需要遍历子节点并添加每个节点,或者执行相同的getElementsByTagName
查找列表
元素并追加每个元素。此示例为javascriptn注意到PHP,显然正在使用PHP DOMDocument类。
element[1].appendChild(element[0].childNodes[0].cloneNode(true));