Вы видите ту же проблему, когда устанавливаете тип «Два» или «Три»? Это потому, что «Один» является значением по умолчанию и поэтому можно предположить? Это может быть какой-то артефакт загрузки этого в XmlDocument, а затем сохранения его с вашим кодом, который вы не показали (TestWriteXml).
Это слегка измененная версия вашего кода (я пишу в StringBuilder, а затем в конце пишу ToString) ...
REQUEST request = new REQUEST();
request.ID = "1234";
request.Type = REQUESTTypetype.One;
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
XmlSerializer xs = new XmlSerializer(typeof(REQUEST));
xs.Serialize(sw, request);
Console.WriteLine(sb.ToString());
... использование точно таких же типов, как вы упомянули выше, работает нормально. Я получаю это на консоли ...
<?xml version="1.0" encoding="utf-16"?>
<REQUEST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http:/
/www.w3.org/2001/XMLSchema" ID="1234" Type="One" />
Я не изменил определение REQUEST или перечисление REQUESTTypetype.