#42437 [NEW]: Results from xpath() cannot be deleted
From: guenther dot stadler at gmx dot net Operating system: PHP version: 5.2.3 PHP Bug Type: SimpleXML related Bug description: Results from xpath() cannot be deleted Description: Elements of the array returned by xpath() cannot be deleted. I can change those elements, but deleting is impossible. How can I delete a node returned by xpath()? Is there a way to find out where the node I found is within the whole xml tree? Thanks, Günther. Reproduce code: --- ?php $xmlstr = XML ?xml version='1.0' standalone='yes'? root movieMovie One/movie movieMovie Two/movie /root XML; $xml = new SimpleXMLElement($xmlstr); $movs = $xml-xpath('//movie'); // Trying to delete the reference returned by xpath unset($movs[0]); // $movs[0] = NULL; doesn't work either // No changes echo $xml-asXML(); ? Expected result: ?xml version=1.0 standalone=yes? root movieMovie Two/movie /root Actual result: -- ?xml version=1.0 standalone=yes? root movieMovie One/movie movieMovie Two/movie /root -- Edit bug report at http://bugs.php.net/?id=42437edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=42437r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=42437r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=42437r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=42437r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=42437r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=42437r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=42437r=needscript Try newer version:http://bugs.php.net/fix.php?id=42437r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=42437r=support Expected behavior:http://bugs.php.net/fix.php?id=42437r=notwrong Not enough info: http://bugs.php.net/fix.php?id=42437r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=42437r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=42437r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=42437r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=42437r=dst IIS Stability:http://bugs.php.net/fix.php?id=42437r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=42437r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=42437r=float No Zend Extensions: http://bugs.php.net/fix.php?id=42437r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=42437r=mysqlcfg
#42348 [NEW]: xPath beginning with // searches whole document
From: guenther dot stadler at gmx dot net Operating system: PHP version: 5.2.3 PHP Bug Type: SimpleXML related Bug description: xPath beginning with // searches whole document Description: When using // at the beginning of an xpath-query, not only the children of the current SimpleXMLElement are searched (as stated in the manual), but the whole XML document instead. (So, actually, it might only be a documentation issue...) If this is expected behaviour, how is one supposed to search all bar elements, no whether where they are - but only under the current item (whatever it might be)? Reproduce code: --- ?php $xmlstr = XML ?xml version='1.0' standalone='yes'? root foo id=foo_1 node bar1/bar bar2/bar /node /foo foo id=foo_2 node bar3/bar bar4/bar /node /foo /root XML; $xml = new SimpleXMLElement($xmlstr); $foo_list = $xml-xpath('//foo'); $foo = $foo_list[0]; // now we have the node with id=foo_1 $bar_list = $foo-xpath('//bar'); foreach($bar_list as $this_bar) echo $this_bar ; ? Expected result: 1 2 Actual result: -- 1 2 3 4 -- Edit bug report at http://bugs.php.net/?id=42348edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=42348r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=42348r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=42348r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=42348r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=42348r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=42348r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=42348r=needscript Try newer version:http://bugs.php.net/fix.php?id=42348r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=42348r=support Expected behavior:http://bugs.php.net/fix.php?id=42348r=notwrong Not enough info: http://bugs.php.net/fix.php?id=42348r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=42348r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=42348r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=42348r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=42348r=dst IIS Stability:http://bugs.php.net/fix.php?id=42348r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=42348r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=42348r=float No Zend Extensions: http://bugs.php.net/fix.php?id=42348r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=42348r=mysqlcfg