Converting Instagram json data to XML was failing with the following
message:
PHP Fatal error: Uncaught DOMException: Invalid Character Error in
/usr/share/php/Symfony/Component/Serializer/Encoder/XmlEncoder.php:445
This was caused by some item starting with a number which resulted in
invalid XML element names.
Remove the items containing the problematic names from the json data
before converting to XML.
Also stop handling the "knobs" element which does not seem to be there
anymore.
$data = json_decode($matches[1], $assoc = TRUE);
- // The "qe" object contains elements which will result in invalid XML
- // element names, so remove it.
+ // Remove items that may contain elements which can result in invalid XML
+ // element names (for example names starting with a number).
unset($data["qe"]);
-
- // The "knobs" object contains elements with undefined namespaces, so
- // remove it to silence an error message.
- unset($data["knobs"]);
+ unset($data["knobx"]);
+ unset($data["to_cache"]);
// Stop here in case Instagram redirected to the login page, this can
// happen when too many consecutive requests have been made from the same