There are two things which can be done to alleviate this problem..
starting with the idea that you have proper XML. you can test this using
MSFT XML Notepad 2007[
^]
you can proceed using Xpath, however i don't recommend this.. it isn't as robust of a long term solution.. and I've always personally found it to be .. um ... Kludgey..
I think if you want to go a pathy route i'd recommend ignoring XPath altogether and just treating the XML as a node tree (built into XDoc)
****************** Preferred Solution *************************
Use Data Contracts and an iterator ..
this handles populating a class and is all around more OOP then XPath...
This is how I do it and it works flawlessly .. 99% of the time and that other 1% is because I'm trying to do something I shouldn't be trying to do ;P