XML ignores spaces. If you need to save it, you must insert the attribute xml:space="preserve"in your elements. Something like this, which I think will keep your spaces wherever XML is consumed.
<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, .