Кажется, я не могу понять, почему этот тест не проходит
Тест:
, учитывая следующий XML:
<?xml version="1.0" encoding="utf-8"?>
<foo>
<account>
1234567890
</account>
<deptCode>
ABCXYZ
</deptCode>
</foo>
иследующий класс:
class Foo {
[XmlElement(ElementName = "account", DataType = "normalizedString")]
string account;
[XmlElement(ElementName = "deptCode", DataType = "normalizedString"]
string deptCode;
}
когда этот XML десериализован с помощью:
XmlSerializer serializer = new XmlSerializer(typeof(Foo));
Foo myFoo = (Foo) serializer.Deserialize(xmlReader);
Я получаю следующие значения:
Foo.account = "\r\n 1234567890 \r\n"
Foo.deptCode = "\r\n ABCXYZ \r\n"
вместо ожидаемого
Foo.account = "1234567890"
Foo.deptCode = "ABCXYZ"
Как я могу сделать так, чтобы процесс десериализации дал мне ожидаемые результаты?Я думал, что DataType="normalizedString"
может это сделать, но, похоже, это не дает никакого эффекта, и когда я использую XmlReaderSettings.IgnoreWhitespace
, он просто убирает символ "\ r", оставляя мне "\ n 1234567890"