XmlSerializer可以反序列化为Nullable <int>吗?

Ale*_*lis 8 nullable xml-serialization xml-nil

我想反序列化包含可以标记nil="true"为具有类型属性的类的元素的XML消息int?.我能让它工作的唯一方法是编写我自己的NullableInt实现类型IXmlSerializable.有没有更好的方法呢?

我写了完整的问题以及我在博客上解决它的方式.

Phi*_*ins 6

我认为您需要在命名空间前加上nil ="true"前缀,以便XmlSerializer反序列化为null.

关于xsi的MSDN:nil

<?xml version="1.0" encoding="UTF-8"?>
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="array">
  <entity>
    <id xsi:type="integer">1</id>
    <name>Foo</name>
    <parent-id xsi:type="integer" xsi:nil="true"/>
Run Code Online (Sandbox Code Playgroud)