Annotation of embedaddon/php/ext/simplexml/tests/024.phpt, revision 1.1.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>