| 

.NET C# Java Javascript Exception

Antwort #A1495 zur Frage #F390: Aus node einen neues DOMDocument erstellen

Diese Antwort hat bisher 3 Versionen. Frage #F390: Aus node einen neues DOMDocument erstellen - Antwort #A1495


Version 3
29.10.2009 10:19:15
Dies ist die aktuelle Version
Ich habe inzwischen die Lösung selbst gefunden, der 'Fehler' lag daran das zwar die Node in das DOMDocument kopiert wurden, jedoch - wenn man mal darüber nachdenkt - logischerweise nicht automatisch im DOMDocument Tree angehängt wird. Deshalb muss man mit 'appendChild' angeben wohin die neue Node samt all ihrer Child's angehängt werden soll.

Hier also die Lösung:

//Neues DOMDocument erstellen
$newDOM = new DOMDocument();

//Ein root Element erstellen
$newDOM->loadXML("<root></root>");

//Die Node 'div_char_info' in das neue DOMDocument 'newDom' kopieren,
//Das Ergebnis ist eine Node 'node' welche sich nun im 'newDom' befindet.
$node = $newDOM->importNode( $div_char_info, true );

//Die neue Node 'node' im DOMDocument 'newDOM' an das Root-Element anhängen!
$newDOM->documentElement->appendChild($node);

//Testausgabe
print $newDOM->saveHTML();
The_Holy_One 393 5
Version 2
29.10.2009 10:19:15
Ich habe inzwischen die Lösung selbst gefunden, der 'Fehler' lag daran das zwar die Node in das DOMDocument kopiert wurden, jedoch - wenn man mal darüber nachdenkt - logischerweise nicht automatisch im DOMDocument Tree angehängt wird. Deshalb muss man mit 'appendChild' angeben wohin die neue Node samt all ihrer Child's angehängt werden soll.

Hier also die Lösung:

//Neues DOMDocument erstellen
$newDOM = new DOMDocument();

//Ein root Element erstellen
$newDOM->loadXML("<root></root>");

//Die Node 'div_char_info' in das neue DOMDocument 'newDom' kopieren, ergebnis 'node'.
$node = $newDOM->importNode( $div_char_info, true );

//Die neue Node 'node' im DOMDocument 'newDOM' an das Root-Element anhängen!
$newDOM->documentElement->appendChild($node);

//Testausgabe
print $newDOM->saveHTML();
The_Holy_One 393 5
Version 1
29.10.2009 10:17:10
Ich habe inzwischen die Lösung selbst gefunden, der 'Fehler' lag daran das zwar die Node in das DOMDocument kopiert wurden, jedoch - wenn man mal darüber nachdenkt - logischerweise nicht automatisch im DOMDocument Tree angehängt wird. Deshalb muss man mit 'appendChild' angeben wohin die neue Node samt all ihrer Child's angehängt werden soll.

Hier also die Lösung:

//Neues DOMDocument erstellen
$newDOM = new DOMDocument();

//Ein root Element erstellen
$newDOM->loadXML("<root></root>");

//Die Node 'div_char_info' in das neue DOMDocument 'newDom' kopieren
$node = $newDOM->importNode( $div_char_info, true );

//Die Node 'div_char_info' an das Root-Element anhängen!
$newDOM->documentElement->appendChild($node);

//Testausgabe
print $newDOM->saveHTML();
The_Holy_One 393 5