SEE EDITS AT BOTTOM TO SHOW MORE ACCURATE ERROR OUTPUT
I'm parsing somewhat large (~15MB) XML files with PHP for the first time using SimpleXML. The files are flight search results so they have long attributes (links back to Kayak; example:
"/book/flightcode=1238917408.NxJI6G.0.F.ORBITZAIR,ORBITZAIR.0.f36f1ea92513977249aa695112410052&sid=26-Vu01v7ilzhSAjPVLZ3Ul"
SimpleXML throws this error when parsing:
"Entity: line 10: parser error : EntityRef: expecting ';' in" and then;
"38917408.NxJI6G.0.F.ORBITZAIR,ORBITZAIR.0.f36f1ea92513977249aa695112410052&sid in" and then;
"simplexml_load_string() [function.simplexml-load-string]: ^ in,"
and so forth for each line where there are these urls.
I found a mention of SimpleXML not liking long attributes on php.net with no solution. I would rather just use and learn SimpleXML for now and work past this error if there is a non-janky, somewhat easy workaround.
Does anyone have a solution? Thanks in advance!
I tried entering the first 13 lines of the XML but it only outputs the info without the XML so.... I can do that if it will help. I'm not sure if using another parser/extension would reduce the functionality or ease of use but please feel free to suggest another if there's not workaround (DOM or XMLReader is what I'm thinking perhaps).
EDITS BELOW TO INCLUDE LESS ADULTERATED ERROR OUTPUT:
http://dl.dropbox.com/u/10206237/stack_overflow_xml.xml
ERROR 1:
simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 10: parser error : EntityRef: expecting ';' in
ERROR 2:(The XML I think is fine because it works with a Python script using DOM; I'm translating it to PHP because I don't know Python). I didn't know that the output in the browser would be different. Thanks for being patient.)
<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: 38917408.Pt8rW8.0.F.ORBITZAIR,ORBITZAIR.0.f36f1ea92513977249aa695112410052&_sid_ in
ERROR 3:
function.simplexml-load-string</a>]: ^ in
(all of those spaces are in there)
See Question&Answers more detail:os