XML is corrupt, hoe toon ik dit aan?
Afgelopen weken ben ik bezig geweest met een socket server in PHP en een client in flash, waarbij er telkens XML wordt verstuurd van de client naar de server en omgekeerd. Het werkt erg goed, alleen af en toe crasht de server omdat er corrupte XML gestuurd wordt vanuit de client. Ik krijg hierdoor een Fatal error:
PHP Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in *****\socket.php:42
Stack trace:
#0 *****\socket.php(42): SimpleXMLElement->__construct('<xml')
#1 *****\socket.php(211): calculate_data(Array, Resource id #10, '<xml')
#2 {main}
thrown in *****\socket.php on line 42
Line 42 is:
De oorzaak van de corrupte XML is mij niet duidelijk, maar ik weet wel dat de error komt door de SimpleXMLElement()-functie. Groot gelijk heeft deze functie dan, want de XML is niet compleet.
Nu is mijn vraag: Weet iemand toevallig of er een functie bestaat die aan kan tonen of XML corrupt is of niet, zodat de server niet hoeft te crashen?
Met vriendelijke groet,
Nick
Gewijzigd op 01/01/1970 01:00:00 door Nick
Edit:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
try {
$xml = new SimpleXMLElement($xmldata);
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
?>
try {
$xml = new SimpleXMLElement($xmldata);
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Frank -
mvg
Nick
Edit:
Wow! Als ik errors krijg, krijg ik ze in vlagen! Er is dus echt ergens nog iets mis, maar dat is nu nog niet van belang. Mijn server crasht in ieder geval niet meer! Nogmaals bedankt
Gewijzigd op 01/01/1970 01:00:00 door Nick
KISS: Keep It Short and Simple.