XML был задуман как стандарт документа. Однако в первые дни он был выбран в качестве языка представления данных. Он не справился с этой ролью, но был лучше, чем все остальное, что было в то время, поэтому он стал самым подходящим зайчиком для всевозможных проблем со структурой данных по проводам. Проблемы с пробелами в ваших данных являются прямым результатом документно-ориентированного наследия XML.
Символы, которые вы видите, представляют собой пробелы, содержащиеся в элементе, вместе с содержимым, которое вас действительно интересует. Самое простое решение, если это вариант, - удалить их из исходного XML-файла. В противном случае у большинства процессоров XML есть какой-то механизм исключения окружающего пробела. Хотя я не знаю, какую поддержку имеет LINQ-to-XML для этого.
После быстрого поиска в Google появляется возможность сохранить пробел при загрузке XML для обработки LINQ. Возможно, это было указано в вызове Load
или Parse
.