XmlSerializer заменяет пробелы на 0x0020 (шестнадцатеричное значение) - PullRequest
2 голосов
/ 10 августа 2010

По какой-то причине мои XmlElements с пробелами в них печатаются с _x0020 вместо пробела.

Например,

[XmlElement("The Total")]
public double total { get; set; }

превращается в <The_0x0020_Total> при печатииз.Я использую TextWriter для вывода, затем я использую XmlSerializer.Serialize для печати в файл, но он не работает.

1 Ответ

5 голосов
/ 10 августа 2010

Это способ XML-сериализатора обрабатывать тот факт, что вы указали недопустимое имя элемента. В элементах XML не должно быть пробелов в их именах, поэтому он пробует пространство таким образом, чтобы его можно было разыскать позже.

Я бы посоветовал вам не включать пробелы в первую очередь.

Из интереса, что вы ожидали на выходе? Вы ожидали:

<The Total>
  20
</The Total>

...