По определению, Value
элемента <title>
является объединением всего текста в этом элементе. По умолчанию пробелы между элементами и их содержимым игнорируются, поэтому он выдает «FooBar». Вы можете указать, что хотите сохранить пробелы:
var element = XElement.Parse(xml, LoadOptions.PreserveWhitespace);
Однако он сохранит все пробелов, включая перевод строки и отступ. В вашем XML есть перевод строки и два пробела между "Foo" и "Bar"; как можно догадаться, что вы хотите оставить только один пробел?