XML is corrupt, hoe toon ik dit aan?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Nick

Nick

08/04/2008 23:44:00
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?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
Gewijzigd op 01/01/1970 01:00:00 door Nick
 
PHP hulp

PHP hulp

24/11/2024 12:42:59
 
Frank -

Frank -

08/04/2008 23:50:00
Quote Anchor link
Het aanmaken mislukt omdat de XML niet goed is. Jij kunt toch controleren of het aanmaken lukt? Een simpele try-catch is voldoende, bij mislukken komt er namelijk een exeption, zie de handleiding.

Edit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
try {
    $xml = new SimpleXMLElement($xmldata);
}
catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Nick

Nick

09/04/2008 00:08:00
Quote Anchor link
Och, dat ik hier nog niet aan gedacht had. Ik zit al 2 dagen moeilijk te doen om iets te fixen! Erg bedankt voor deze simpele oplossing :P!

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
 
Frank -

Frank -

09/04/2008 00:16:00
Quote Anchor link
Tja, het is allemaal zo simpel, je moet alleen wel heel simpel blijven denken. Zodra je moeilijk gaat doen, weet je dat je fout bezig bent.

KISS: Keep It Short and Simple.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.