Not sure, but do you really need it to be one query? It seems that would be two different data sets (for which you probably need to use different code for the DB insert), so maybe they shouldn't be treated the same. An outer loop dealing with airports, and an inner loop dealing with runways -each with its own XPath expression- would seem to be a natural approach.
First of all, please accept my apologies for not replying earlier. For some reason, I could not even connect to the ranch, and then, when I could, I could not reply to any of the posts.
Your reply is perfectly correct. That's what I did in the end, I couldn't afford to waste anymore time on the thing, and as it was a one off shot it didn't realy matter. Thanks very much for your help.