xml-requests etwas aufräumen (php , domdocument)
Friday, March 7th, 2008leider sind nicht alle xml requests sauber… z.b. gibt es konstrukte wie diese:
<request><test key=’<>super’/></request>
<> sollten eigentlich escaped sein in >< … sonst ist das xml leider invalide. eine verarbeitung mit DOMXML oder simple_xml nicht möglich… abhilfe kann man sich durch den umweg über DOMDocument->loadHTML() schaffen:
$request = '<request><test key='<>super'/></request>';//$sh = simplexml_load_string($request); $dom = new DOMDocument(); $dom->preserveWhiteSpace = false; $dom->formatOutput = true;@$dom->loadHTML($xmlRequest); $dom->normalizeDocument();$sh = simplexml_import_dom($dom); $sh = $sh->body->request;
läuft… :) bzw. zumindest kann man noch auf die nodes zugreifen ohne das einem wertvolle informationen verloren gehen ;)
_pete®