Два очень разные; но XmlSerializer
всегда десериализует целые объекты; с XPath вы можете выбирать. Я бы использовал XmlSerializer
лично, однако - сложнее ошибиться.
XPath, однако, сложный зверь, который зависит от серверной части. Например, XmlDocument
(изменяемый) будет вести себя иначе, чем XPathDocument
(только для чтения, оптимизирован для запроса).