> I would have liked to use the next() function instead, but as I needed to parse 2 different subtrees, I couldn't figure out how to find all the columns, reset the pointer, and then find all the rows.
I just use:
$reader->close();
$reader->open($url);
to reset the pointer.