Annotation of embedaddon/php/ext/simplexml/tests/017.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: SimpleXML: iteration through subnodes
                      3: --SKIPIF--
                      4: <?php if (!extension_loaded("simplexml")) print "skip"; ?>
                      5: --FILE--
                      6: <?php
                      7: $xml =<<<EOF
                      8: <people>
                      9:    <person name="Joe">
                     10:      <child name="Ann" />
                     11:      <child name="Marray" />
                     12:    </person>
                     13:    <person name="Boe">
                     14:      <child name="Joe" />
                     15:      <child name="Ann" />
                     16:    </person>
                     17: </people>
                     18: EOF;
                     19: $xml1 =<<<EOF
                     20: <people>
                     21:    <person name="Joe">
                     22:      <child name="Ann" />
                     23:    </person>
                     24: </people>
                     25: EOF;
                     26: 
                     27: function print_xml($xml) {
                     28:   foreach($xml->children() as $person) {
                     29:     echo "person: ".$person['name']."\n";
                     30:     foreach($person->children() as $child) {
                     31:       echo "  child: ".$child['name']."\n";
                     32:     }
                     33:   }
                     34: }
                     35: 
                     36: function print_xml2($xml) {
                     37:   $persons = 2;
                     38:   for ($i=0;$i<$persons;$i++) {
                     39:     echo "person: ".$xml->person[$i]['name']."\n";
                     40:        $children = 2;
                     41:     for ($j=0;$j<$children;$j++) {
                     42:       echo "  child: ".$xml->person[$i]->child[$j]['name']."\n";
                     43:     }
                     44:   }
                     45: }
                     46: 
                     47: echo "---11---\n";
                     48: print_xml(simplexml_load_string($xml));
                     49: echo "---12---\n";
                     50: print_xml(simplexml_load_string($xml1));
                     51: echo "---21---\n";
                     52: print_xml2(simplexml_load_string($xml));
                     53: echo "---22---\n";
                     54: print_xml2(simplexml_load_string($xml1));
                     55: ?>
                     56: ===DONE===
                     57: --EXPECTF--
                     58: ---11---
                     59: person: Joe
                     60:   child: Ann
                     61:   child: Marray
                     62: person: Boe
                     63:   child: Joe
                     64:   child: Ann
                     65: ---12---
                     66: person: Joe
                     67:   child: Ann
                     68: ---21---
                     69: person: Joe
                     70:   child: Ann
                     71:   child: Marray
                     72: person: Boe
                     73:   child: Joe
                     74:   child: Ann
                     75: ---22---
                     76: person: Joe
                     77:   child: Ann
                     78:   child: 
                     79: person: 
                     80: 
                     81: Notice: Trying to get property of non-object in %s017.php on line %d
                     82:   child: 
                     83: 
                     84: Notice: Trying to get property of non-object in %s017.php on line %d
                     85:   child: 
                     86: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>