Я не понимаю, как работает XmlSerializer
. сцены. У меня есть класс, который десериализует XML в объект. То, что я вижу, относится к следующим двум элементам, которые НЕ являются частью десериализуемого Xml.
[XmlRootAttribute("MyClass", Namespace = "", IsNullable = false)]
public class MyClass
{
private string comments;
public string Comments
{
set { comments = value; }
get { return comments; }
}
private System.Collections.Generic.List<string> tests = null;
public System.Collections.Generic.List<string> Tests
{
get { return tests; }
set { tests = value; }
}
}
В качестве примера возьмем следующий XML:
<MyClass>
<SomeNode>value</SomeNode>
</MyClass>
Вы заметили, что тесты и комментарии НЕ являются частью XML.
Когда этот XML десериализуется, комментарии будут нулевыми (что ожидается), а тесты будут пустым списком со счетчиком 0.
Если бы кто-то мог объяснить это мне, это было бы очень признательно. Что бы я предпочел, так это то, что если <Tests>
отсутствует в XML, то список должен оставаться нулевым, но если присутствует (возможно, пустой) узел <Tests />
, тогда список должен быть выделен.
tests
, хотя<Tests />
никогда не появляется в XML. (Кстати, я могу воспроизвести его.) - person dbc   schedule 27.07.2017<Tests>
полностью отсутствует, вы не хотите выделять список. Что вы хотите, когда есть пустой узел<Tests />
? - person dbc   schedule 27.07.2017