Annotation of embedaddon/php/ext/simplexml/tests/024.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: SimpleXML: XPath and attributes
! 3: --SKIPIF--
! 4: <?php if (!extension_loaded("simplexml")) print "skip"; ?>
! 5: --FILE--
! 6: <?php
! 7:
! 8: $xml =<<<EOF
! 9: <?xml version='1.0'?>
! 10: <root>
! 11: <elem attr1='11' attr2='12' attr3='13'/>
! 12: <elem attr1='21' attr2='22' attr3='23'/>
! 13: <elem attr1='31' attr2='32' attr3='33'/>
! 14: </root>
! 15: EOF;
! 16:
! 17: $sxe = simplexml_load_string($xml);
! 18:
! 19: function test($xpath)
! 20: {
! 21: global $sxe;
! 22:
! 23: echo "===$xpath===\n";
! 24: var_dump($sxe->xpath($xpath));
! 25: }
! 26:
! 27: test('elem/@attr2');
! 28: test('//@attr2');
! 29: test('//@*');
! 30: test('elem[2]/@attr2');
! 31:
! 32: ?>
! 33: ===DONE===
! 34: --EXPECTF--
! 35: ===elem/@attr2===
! 36: array(3) {
! 37: [0]=>
! 38: object(SimpleXMLElement)#%d (1) {
! 39: ["@attributes"]=>
! 40: array(1) {
! 41: ["attr2"]=>
! 42: string(2) "12"
! 43: }
! 44: }
! 45: [1]=>
! 46: object(SimpleXMLElement)#%d (1) {
! 47: ["@attributes"]=>
! 48: array(1) {
! 49: ["attr2"]=>
! 50: string(2) "22"
! 51: }
! 52: }
! 53: [2]=>
! 54: object(SimpleXMLElement)#%d (1) {
! 55: ["@attributes"]=>
! 56: array(1) {
! 57: ["attr2"]=>
! 58: string(2) "32"
! 59: }
! 60: }
! 61: }
! 62: ===//@attr2===
! 63: array(3) {
! 64: [0]=>
! 65: object(SimpleXMLElement)#%d (1) {
! 66: ["@attributes"]=>
! 67: array(1) {
! 68: ["attr2"]=>
! 69: string(2) "12"
! 70: }
! 71: }
! 72: [1]=>
! 73: object(SimpleXMLElement)#%d (1) {
! 74: ["@attributes"]=>
! 75: array(1) {
! 76: ["attr2"]=>
! 77: string(2) "22"
! 78: }
! 79: }
! 80: [2]=>
! 81: object(SimpleXMLElement)#%d (1) {
! 82: ["@attributes"]=>
! 83: array(1) {
! 84: ["attr2"]=>
! 85: string(2) "32"
! 86: }
! 87: }
! 88: }
! 89: ===//@*===
! 90: array(9) {
! 91: [0]=>
! 92: object(SimpleXMLElement)#%d (1) {
! 93: ["@attributes"]=>
! 94: array(1) {
! 95: ["attr1"]=>
! 96: string(2) "11"
! 97: }
! 98: }
! 99: [1]=>
! 100: object(SimpleXMLElement)#%d (1) {
! 101: ["@attributes"]=>
! 102: array(1) {
! 103: ["attr2"]=>
! 104: string(2) "12"
! 105: }
! 106: }
! 107: [2]=>
! 108: object(SimpleXMLElement)#%d (1) {
! 109: ["@attributes"]=>
! 110: array(1) {
! 111: ["attr3"]=>
! 112: string(2) "13"
! 113: }
! 114: }
! 115: [3]=>
! 116: object(SimpleXMLElement)#%d (1) {
! 117: ["@attributes"]=>
! 118: array(1) {
! 119: ["attr1"]=>
! 120: string(2) "21"
! 121: }
! 122: }
! 123: [4]=>
! 124: object(SimpleXMLElement)#%d (1) {
! 125: ["@attributes"]=>
! 126: array(1) {
! 127: ["attr2"]=>
! 128: string(2) "22"
! 129: }
! 130: }
! 131: [5]=>
! 132: object(SimpleXMLElement)#%d (1) {
! 133: ["@attributes"]=>
! 134: array(1) {
! 135: ["attr3"]=>
! 136: string(2) "23"
! 137: }
! 138: }
! 139: [6]=>
! 140: object(SimpleXMLElement)#%d (1) {
! 141: ["@attributes"]=>
! 142: array(1) {
! 143: ["attr1"]=>
! 144: string(2) "31"
! 145: }
! 146: }
! 147: [7]=>
! 148: object(SimpleXMLElement)#%d (1) {
! 149: ["@attributes"]=>
! 150: array(1) {
! 151: ["attr2"]=>
! 152: string(2) "32"
! 153: }
! 154: }
! 155: [8]=>
! 156: object(SimpleXMLElement)#%d (1) {
! 157: ["@attributes"]=>
! 158: array(1) {
! 159: ["attr3"]=>
! 160: string(2) "33"
! 161: }
! 162: }
! 163: }
! 164: ===elem[2]/@attr2===
! 165: array(1) {
! 166: [0]=>
! 167: object(SimpleXMLElement)#%d (1) {
! 168: ["@attributes"]=>
! 169: array(1) {
! 170: ["attr2"]=>
! 171: string(2) "22"
! 172: }
! 173: }
! 174: }
! 175: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>