代码之家  ›  专栏  ›  技术社区  ›  dirtside

在PHP中从DOMNode创建DOMDocument

  •  7
  • dirtside  · 技术社区  · 16 年前

    这个节点有一组子节点,我想获取整个节点(及其子节点)并从中创建一个新的DOMDocument对象。我不知道该怎么做;我尝试创建一个新的DOMDocument并使用DOMDocument::importNode(),但这似乎只有在DOMDocument中已经有一个主文档节点时才起作用,在这种情况下,它会将导入的节点作为主文档节点的子节点追加,这不是我想要的——我希望导入的节点成为DOMDocument主节点。

    2 回复  |  直到 16 年前
        1
  •  18
  •   Willem    16 年前

    您还可以创建一个新的DOMDocument并对其调用appendChild()以添加根节点:

    $new = new DomDocument;
    $new->appendChild($new->importNode($node, true));
    

    这对我很管用。

        2
  •  1
  •   Josh Davis    16 年前

    $new = new DOMDocument;
    $new->loadXML($node->ownerDocument->saveXML($node));