Ik gebruik momenteel onderstaande code om mijn XML files te parsen (komt letterlijk van de php manual):
Is het nu mogelijk om op een nette manier deze parser stop te zetten ? Ik wil namelijk voor een <item> object kijken of dat al bestaat, en zodra dat al bestaat wil ik het parsen stoppen.
Ik dacht het te doen via:
met $stop_parsing dus een globale variable die TRUE wordt zodra ik een reeds bestaand item parse. Maar dit geeft dus een error, aangezien de file opeens wordt afgebroken en de parser knalt er dan uit.
Iemand een suggestie ?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <? if (!($fp = fopen($XMLFile, 'r'))) { die("Could not open $XMLFile for parsing!\n"); } // loop through the file and parse baby! while ($data = fread($fp, 4096)) { if (!xml_parse($xml_parser, $data, feof($fp))) { echo(sprintf( "XML error: %s at line %d for TrackerID $tracker_id\n\n", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } } ?> |
Is het nu mogelijk om op een nette manier deze parser stop te zetten ? Ik wil namelijk voor een <item> object kijken of dat al bestaat, en zodra dat al bestaat wil ik het parsen stoppen.
Ik dacht het te doen via:
PHP:
1
2
3
| <? while ($data = fread($fp, 4096) && !stop_parsing) { ?> |
met $stop_parsing dus een globale variable die TRUE wordt zodra ik een reeds bestaand item parse. Maar dit geeft dus een error, aangezien de file opeens wordt afgebroken en de parser knalt er dan uit.
Iemand een suggestie ?