Я пишу XML-файл «вручную» (т.е. не с помощью LINQ to XML), который иногда включает в себя тег открытия / закрытия, содержащий один пробел. После просмотра полученного файла все выглядит правильно, пример ниже ...
<Item>
<ItemNumber>3</ItemNumber>
<English> </English>
<Translation>Ignore this one. Do not remove.</Translation>
</Item>
... причины для этого разнообразны и неуместны, это сделано.
Позже я использую программу на C # с LINQ to XML, чтобы прочитать файл обратно и извлечь запись ...
XElement X_EnglishE = null; // This is CRAZY
foreach (XElement i in Records)
{
X_EnglishE = i.Element("English"); // There is only one damned record!
}
string X_English = X_EnglishE.ToString();
... и проверьте, чтобы убедиться, что он не изменился из записи базы данных. Обнаружено изменение при обработке элементов, в которых поле содержит один пробел ...
+E+ Text[3] English source has been altered:
Was: >>> <<<
Now: >>><<<
... части >>> и <<<, которые я добавил, чтобы увидеть, что происходит, (трудно увидеть пробелы). Я возился с этим, но не понимаю, почему это так. Это не совсем критично, так как поле не используется (пока), но я не могу доверять C # или LINQ или тому, что делает это, если я не понимаю, почему это так. Так, что делает это и почему? </p>