【问题标题】:How can I clone nodes between documents in PHP? [duplicate]如何在 PHP 中的文档之间克隆节点? [复制]
【发布时间】:2010-07-20 16:40:33
【问题描述】:

可能重复:
DOMElement cloning and appending: ‘Wrong Document Error’

我想将DOMDocument A 中元素foo 的所有子节点复制到DOMDocument B 中的元素bar 中。但是,使用appendChild 这样做显然会抛出DOM_WRONG_DOCUMENT_ERR

有正确的方法吗?

XML 文档 A

<foo>
    <child />
    <child />
    <child />
</foo>

XML 文档 B

<bar>
    <other-child />
    <other-child />
</bar>

结果DOMDocument:

<bar>
    <other-child />
    <other-child />
    <child />
    <child />
    <child />
</bar>

不应假定元素为空,而是任意复杂。

【问题讨论】:

  • 你能提供一些代码示例吗?
  • 附带说明:DomDocumentDOMDocument 在 PHP 术语中是完全不同的东西。 DomDocument 是一个 pre-php5 dom xml 实现:nl2.php.net/manual/en/book.domxml.php 虽然 php4 应该已经死了,但在谈论它时保持大小写和版本清晰是可取的。

标签: php xml dom


【解决方案1】:

您可能想看看DOMDocument::importNode

此函数返回要导入的节点的副本并将其与当前文档相关联。

【讨论】:

  • 谢谢,这正是我想要的。
猜你喜欢
  • 2012-10-06
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
  • 2012-03-31
  • 1970-01-01
  • 1970-01-01
  • 2017-06-08
  • 2014-08-29
相关资源
最近更新 更多