Annotation of embedaddon/php/ext/simplexml/tests/sxe_002.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: SPL: SimpleXMLIterator and recursion
! 3: --SKIPIF--
! 4: <?php
! 5: if (!extension_loaded('simplexml')) print 'skip';
! 6: if (!extension_loaded("libxml")) print "skip LibXML not present";
! 7: ?>
! 8: --FILE--
! 9: <?php
! 10:
! 11: $xml =<<<EOF
! 12: <?xml version='1.0'?>
! 13: <!DOCTYPE sxe SYSTEM "notfound.dtd">
! 14: <sxe id="elem1">
! 15: Plain text.
! 16: <elem1 attr1='first'>
! 17: Bla bla 1.
! 18: <!-- comment -->
! 19: <elem2>
! 20: Here we have some text data.
! 21: <elem3>
! 22: And here some more.
! 23: <elem4>
! 24: Wow once again.
! 25: </elem4>
! 26: </elem3>
! 27: </elem2>
! 28: </elem1>
! 29: <elem11 attr2='second'>
! 30: Bla bla 2.
! 31: <elem111>
! 32: Foo Bar
! 33: </elem111>
! 34: </elem11>
! 35: </sxe>
! 36: EOF;
! 37:
! 38: $sxe = simplexml_load_string((binary)$xml, 'SimpleXMLIterator');
! 39:
! 40: foreach(new RecursiveIteratorIterator($sxe, 1) as $name => $data) {
! 41: var_dump($name);
! 42: var_dump(get_class($data));
! 43: var_dump(trim($data));
! 44: }
! 45:
! 46: echo "===DUMP===\n";
! 47:
! 48: var_dump(get_class($sxe));
! 49: var_dump(trim($sxe->elem1));
! 50:
! 51: ?>
! 52: ===DONE===
! 53: --EXPECT--
! 54: string(5) "elem1"
! 55: string(17) "SimpleXMLIterator"
! 56: string(10) "Bla bla 1."
! 57: string(5) "elem2"
! 58: string(17) "SimpleXMLIterator"
! 59: string(28) "Here we have some text data."
! 60: string(5) "elem3"
! 61: string(17) "SimpleXMLIterator"
! 62: string(19) "And here some more."
! 63: string(5) "elem4"
! 64: string(17) "SimpleXMLIterator"
! 65: string(15) "Wow once again."
! 66: string(6) "elem11"
! 67: string(17) "SimpleXMLIterator"
! 68: string(10) "Bla bla 2."
! 69: string(7) "elem111"
! 70: string(17) "SimpleXMLIterator"
! 71: string(7) "Foo Bar"
! 72: ===DUMP===
! 73: string(17) "SimpleXMLIterator"
! 74: string(10) "Bla bla 1."
! 75: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>