1
0
mirror of https://github.com/php/php-src.git synced 2026-04-02 13:43:02 +02:00
Files
archived-php-src/ext/simplexml/tests/017.phpt
Fabien Villepinte a555cc0b3d Clean DONE tags from tests
Remove most of the `===DONE===` tags and its variations.
Keep `===DONE===` if the test output otherwise becomes empty.

Closes GH-4872.
2019-11-07 21:31:47 +01:00

76 lines
1.4 KiB
PHP

--TEST--
SimpleXML: iteration through subnodes
--SKIPIF--
<?php if (!extension_loaded("simplexml")) print "skip"; ?>
--FILE--
<?php
$xml =<<<EOF
<people>
<person name="Joe">
<child name="Ann" />
<child name="Marray" />
</person>
<person name="Boe">
<child name="Joe" />
<child name="Ann" />
</person>
</people>
EOF;
$xml1 =<<<EOF
<people>
<person name="Joe">
<child name="Ann" />
</person>
</people>
EOF;
function print_xml($xml) {
foreach($xml->children() as $person) {
echo "person: ".$person['name']."\n";
foreach($person->children() as $child) {
echo " child: ".$child['name']."\n";
}
}
}
function print_xml2($xml) {
for ($i=0;$i<count($xml->person);$i++) {
$person = $xml->person[$i];
echo "person: ".$person['name']."\n";
for ($j=0;$j<count($person->child);$j++) {
echo " child: ".$person->child[$j]['name']."\n";
}
}
}
echo "---11---\n";
print_xml(simplexml_load_string($xml));
echo "---12---\n";
print_xml(simplexml_load_string($xml1));
echo "---21---\n";
print_xml2(simplexml_load_string($xml));
echo "---22---\n";
print_xml2(simplexml_load_string($xml1));
?>
--EXPECT--
---11---
person: Joe
child: Ann
child: Marray
person: Boe
child: Joe
child: Ann
---12---
person: Joe
child: Ann
---21---
person: Joe
child: Ann
child: Marray
person: Boe
child: Joe
child: Ann
---22---
person: Joe
child: Ann