Otrzymuję ciąg znaków XML z określonego źródła. Tworzę obiekt DOMDocument i ładuję do niego ciąg znaków XML (z DOMDocument :: loadXML()). Następnie przechodzę przez dokument XML, używając różnych metod (np. DOMXPath), aż znajdę węzeł (oczywiście DOMNode), którego chcę.Tworzenie DOMDocument z DOMNode w PHP
Ten węzeł ma grupę potomków i chcę wziąć cały węzeł (i jego potomków) i utworzyć z niego nowy obiekt DOMDocument. Nie jestem pewien, jak to zrobić; Próbowałem utworzyć nowy DOMDocument i używając DOMDocument :: importNode(), ale wygląda na to, że działa tylko wtedy, gdy DOMDocument ma już główny węzeł dokumentu, w którym to przypadku dołącza zaimportowany węzeł jako element potomny głównego węzła dokumentu, co nie jest tym, czego chcę - chcę, aby zaimportowany węzeł ZOSTAŁ ZOSTAĆ węzłem głównym DOMDocument.
Być może jest łatwiejszy sposób to zrobić (tj. Łatwiejszy sposób wyodrębnienia części oryginalnego pliku XML, który chcę przekształcić we własny dokument), ale nie wiem. Jestem względnie nowym użytkownikiem DOMDocument, chociaż użyłem SimpleXMLElement na tyle, aby go denerwować.
To powinno działać, ale będzie wymagać serializacji i ponownego analizowania kodu XML, który unika 'importNode()'. – thomasrutter