Я не могу понять, почему этот тест не проходит
Тест заключается в следующем:
дается следующий 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"