Hallo,
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:
<?php
$xml = new SimpleXMLElement($xmldata);
?>
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
721 views