Archive for March, 2008

xml-requests etwas aufräumen (php , domdocument)

Friday, March 7th, 2008

leider sind nicht alle xml requests sauber… z.b. gibt es konstrukte wie diese:

<request><test key=’<>super’/></request>

<> sollten eigentlich escaped sein in &gt;&lt; … 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®