mirror of
https://github.com/php/php-src.git
synced 2025-08-16 14:08:47 +02:00
- MFH Fix properties access to children() result
This commit is contained in:
parent
7c42ddb8e0
commit
011266f7e1
2 changed files with 36 additions and 1 deletions
|
@ -989,7 +989,7 @@ static HashTable * sxe_properties_get(zval *object TSRMLS_DC)
|
||||||
ZVAL_STRING(value, sxe_xmlNodeListGetString(node->doc, node->children, 1), 0);
|
ZVAL_STRING(value, sxe_xmlNodeListGetString(node->doc, node->children, 1), 0);
|
||||||
zend_hash_next_index_insert(rv, &value, sizeof(zval *), NULL);
|
zend_hash_next_index_insert(rv, &value, sizeof(zval *), NULL);
|
||||||
node = NULL;
|
node = NULL;
|
||||||
} else {
|
} else if (sxe->iter.type != SXE_ITER_CHILD) {
|
||||||
node = node->children;
|
node = node->children;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
35
ext/simplexml/tests/009b.phpt
Executable file
35
ext/simplexml/tests/009b.phpt
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
--TEST--
|
||||||
|
SimpleXML: foreach
|
||||||
|
--SKIPIF--
|
||||||
|
<?php if (!extension_loaded("simplexml")) print "skip"; ?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
$sxe = simplexml_load_string(<<<EOF
|
||||||
|
<?xml version='1.0'?>
|
||||||
|
<!DOCTYPE sxe SYSTEM "notfound.dtd">
|
||||||
|
<sxe id="elem1">
|
||||||
|
Plain text.
|
||||||
|
<elem1 attr1='first'>Bla bla 1.<!-- comment --><elem2>
|
||||||
|
Here we have some text data.
|
||||||
|
</elem2></elem1>
|
||||||
|
<elem11 attr2='second'>Bla bla 2.</elem11>
|
||||||
|
</sxe>
|
||||||
|
EOF
|
||||||
|
);
|
||||||
|
var_dump($sxe->children());
|
||||||
|
?>
|
||||||
|
===DONE===
|
||||||
|
<?php exit(0); ?>
|
||||||
|
--EXPECTF--
|
||||||
|
object(SimpleXMLElement)#%d (3) {
|
||||||
|
["@attributes"]=>
|
||||||
|
array(1) {
|
||||||
|
["id"]=>
|
||||||
|
string(5) "elem1"
|
||||||
|
}
|
||||||
|
["elem1"]=>
|
||||||
|
string(10) "Bla bla 1."
|
||||||
|
["elem11"]=>
|
||||||
|
string(10) "Bla bla 2."
|
||||||
|
}
|
||||||
|
===DONE===
|
Loading…
Add table
Add a link
Reference in a new issue