我從某個源獲取XML字符串。我創建一個DOMDocument對象並將XML字符串加載到其中(使用DOMDocument :: loadXML())。然後,我使用各種方法(例如DOMXPath)瀏覽XML文檔,直到找到所需的節點(當然是DOMNode)。從PHP中的DOMNode創建DOMDocument
這個節點有許多後代,我想取整個節點(及其後代)並從中創建一個新的DOMDocument對象。我不知道如何做到這一點;我嘗試創建一個新的DOMDocument並使用DOMDocument :: importNode(),但是這似乎只在DOMDocument已經有一個主文檔節點的情況下才起作用,在這種情況下,它會將導入的節點作爲主文檔節點的子節點追加,這不是我想要的 - 我想讓導入的節點成爲DOMDocument主節點。
也許有這樣做(即一個更簡單的方法來提取,我想變成自己的文檔中的原始XML的一部分)更簡單的方法,但我不知道它。我對DOMDocument相對來說比較新,儘管我已經使用SimpleXMLElement足以讓它惱火。
這應該可以工作,但會涉及序列化和重新解析'importNode()'避免的XML代碼。 – thomasrutter 2016-06-28 00:32:43