XML is the format mostly used, together with JSON, to give access to data without giving access directly to a database. Most of the browsers are XML compatible, but IE, in some versions (any one older than IE 8.0.76) cannot display a XML feed even if this one has passed the W3C XML validation.
I have faced this problem when dealing with an API. A couple of methods where giving the famous error: “Internet Explorer cannot display this feed”. After a lot of searching on the net with no success I finally decided to use the oldest of the scientific methods to figure this out: test and error.
After a bunch of tests I finally have found out why it was breaking: If the XML has any CDATA tag inside, it will not render in IE.
- Install newest version of IE (that might not be available on all versions of Windows)
- Remove CDATA and html encode (php htmlentities) any field that has CDATA
These are the workarounds and solutions for a well constructed feed, so, before checking those, make sure that your XML pass the W3C validation.