Annotation of embedaddon/php/ext/simplexml/tests/027.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: SimpleXML: Adding an elements
3: --SKIPIF--
4: <?php if (!extension_loaded("simplexml")) print "skip"; ?>
5: --FILE--
6: <?php
7: $xml =<<<EOF
8: <people></people>
9: EOF;
10:
11: function traverse_xml($xml, $pad = '')
12: {
13: $name = $xml->getName();
14: echo "$pad<$name";
15: foreach($xml->attributes() as $attr => $value)
16: {
17: echo " $attr=\"$value\"";
18: }
19: echo ">" . trim($xml) . "\n";
20: foreach($xml->children() as $node)
21: {
22: traverse_xml($node, $pad.' ');
23: }
24: echo $pad."</$name>\n";
25: }
26:
27:
28: $people = simplexml_load_string($xml);
29: traverse_xml($people);
30: $people->person = 'Joe';
31: $people->person['gender'] = 'male';
32: traverse_xml($people);
33: $people->person = 'Jane';
34: traverse_xml($people);
35: $people->person['gender'] = 'female';
36: $people->person[1] = 'Joe';
37: $people->person[1]['gender'] = 'male';
38: traverse_xml($people);
39: $people->person[3] = 'Minni-me';
40: $people->person[2]['gender'] = 'male';
41: traverse_xml($people);
42: $people->person[3]['gender'] = 'error';
43: traverse_xml($people);
44: ?>
45: ===DONE===
46: --EXPECTF--
47: <people>
48: </people>
49: <people>
50: <person gender="male">Joe
51: </person>
52: </people>
53: <people>
54: <person gender="male">Jane
55: </person>
56: </people>
57: <people>
58: <person gender="female">Jane
59: </person>
60: <person gender="male">Joe
61: </person>
62: </people>
63:
64: Warning: main(): Cannot add element person number 3 when only 2 such elements exist in %s027.php on line %d
65: <people>
66: <person gender="female">Jane
67: </person>
68: <person gender="male">Joe
69: </person>
70: <person gender="male">Minni-me
71: </person>
72: </people>
73: <people>
74: <person gender="female">Jane
75: </person>
76: <person gender="male">Joe
77: </person>
78: <person gender="male">Minni-me
79: </person>
80: <person gender="error">
81: </person>
82: </people>
83: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>