rossbar Posted August 7, 2013 Share Posted August 7, 2013 Hey there, I am trying to parse a large xml file (~700 mb) and running into a bad gateway error from my host. I believe this is b/c the php script I have put together is taking so long to run. I am utilizing xmlreader combined with simplexml (within a node) to extract data and then insert it into our DB. As a solution to the timeout issues (if the host can't increase the script runtime value), I am thinking I could just break the parsing job into chunks. To do this, I think I would need to be able to tell the xmlreader to begin at a specified node number. Is this possible? How can I tell it to start at the 4th "car" tag below? <car> <color>blue</color> <doors>4</doors> </car> <car> <color>blue</color> <doors>2</doors> </car> <car> <color>black</color> <doors>2</doors> </car> <car> <color>black</color> <doors>4</doors> </car> <color>black</color> <doors>2</doors> </car> <car> <color>black</color> <doors>4</doors> </car> Quote Link to comment https://forums.phpfreaks.com/topic/280923-xml-reader-skip-to-specified-node/ Share on other sites More sharing options...
requinix Posted August 7, 2013 Share Posted August 7, 2013 You have to start from the beginning, so count and skip over s until you reach the right number. Quote Link to comment https://forums.phpfreaks.com/topic/280923-xml-reader-skip-to-specified-node/#findComment-1443879 Share on other sites More sharing options...
rossbar Posted August 7, 2013 Author Share Posted August 7, 2013 hey Requinix, Thanks for that! Makes perfect sense. Quote Link to comment https://forums.phpfreaks.com/topic/280923-xml-reader-skip-to-specified-node/#findComment-1443889 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.