ID: 36756 Updated by: [EMAIL PROTECTED] Reported By: olaf at 7val dot com -Status: Open +Status: Bogus -Bug Type: Scripting Engine problem +Bug Type: DOM XML related Operating System: Linux PHP Version: 5.1.2 New Comment:
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php Previous Comments: ------------------------------------------------------------------------ [2006-03-16 09:47:53] olaf at 7val dot com Description: ------------ Using DOMDocument::removeChild corrupts node in the document in some cases. Given a node $node and removing a parent node of this node renders $node unusable (properties are gone, but $node is still of class DOMElement). Reproduce code: --------------- <?php // This works as expected $dom = DOMDocument::loadXML('<root><child/></root>'); $xpath = new DOMXpath($dom); $node = $xpath->query('/root')->item(0); echo $node->nodeName . "\n"; $dom->removeChild($GLOBALS['dom']->firstChild); echo "nodeType: " . $node->nodeType . "\n"; echo "nodeName: " .$node->nodeName . "\n"; echo "parentNode: " .$node->parentNode . "\n"; // This breaks "$node" $dom = DOMDocument::loadXML('<root><child/></root>'); $xpath = new DOMXpath($dom); $node = $xpath->query('//child')->item(0); echo $node->nodeName . "\n"; $GLOBALS['dom']->removeChild($GLOBALS['dom']->firstChild); echo "nodeType: " . $node->nodeType . "\n"; echo "nodeName: " .$node->nodeName . "\n"; echo "parentNode: " .$node->parentNode . "\n"; echo "\n"; ?> Expected result: ---------------- Properties of $node should still exists, see part1: root nodeType: 1 nodeName: root parentNode: Actual result: -------------- Properties are gone child Notice: Undefined property: DOMElement::$nodeType in /home/olaf/test/test.php on line 20 nodeType: Notice: Undefined property: DOMElement::$nodeName in /home/olaf/test/test.php on line 21 nodeName: Notice: Undefined property: DOMElement::$parentNode in /home/olaf/test/test.php on line 22 parentNode: ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=36756&edit=1