How do I speed up XML parsing operation?
- by absentx
I currently have a php script set up to do some xml parsing. Sometimes the script is set as an on page include and other times it is accessed via an ajax call. The problem is the load time for this particular page is very long. I started to think that the php I had written to find what I need in the XML was written poorly and my script is very resource intense. After much research and testing the problem is indeed not my scripting (well perhaps you could consider it a problem with my scripting), but it looks like it takes a long time to load the particular xml sources.
My code is like such:
$source_recent = 'my xml feed';
$source_additional = 'the other feed I need';
$xmlstr_recent = file_get_contents($source_recent);
$feed_recent = new SimpleXMLElement($xmlstr_recent);
$xmlstr_additional = file_get_contents($source_additional);
$feed_additional = new SimpleXMLElement($xmlstr_additional);
In all my testing, the above code is what takes the time, not the additional processing I do below.
Is there anyway around this or am I at the mercy of the load time of the xml URL's?
One crazy thought I had to get around it is to load the xml contents into a db every so often, then just query the db for what I need.
Thoughts? Ideas?