Я собираюсь предложить что-то немного отличное от того, что вы спрашиваете, потому что я нашел xpath немного громоздким, и когда я впервые начал использовать LINQ to XML, это была мини-революция счастья внутри меня.
Одним из преимуществ здесь является то, что если вы когда-нибудь решите, что хотите сериализовать по-другому, изменения кода будут незначительными, вам просто нужно найти библиотеку Linq to (Json, SQL и т. Д.) (Которых много, и например, SQL предоставляются Microsoft) и вносят незначительные изменения в код.
Извлечь Linq to Xml в MSDN.
Если вы думаете, что вас это может заинтересовать или даже больше о Linq, я нашел книгу Linq in Action очень хорошей книгой, которая поможет вам освоить основы.