XML игнорирует этот пробел. Если вам нужно сохранить его, вы должны вставить атрибут xml:space="preserve"
в ваши элементы. Нечто подобное, что, я думаю, сохранит ваши пробелы везде, где используется XML.
<item xml:space="preserve" name="UserText" type_name="gh_string" type_code="10"> </item>
Другой вариант, который будет работать с LINQ-to-XML, - это использовать параметр загрузки PreserveWhitespace. Пример:
XElement element = XElement.Parse(xml, LoadOptions.PreserveWhitespace);
Вы также должны иметь возможность заключать пробелы в тег CData, еще не проверял.