XML xsi:nil =“true”值设置但返回null

时间:2016-08-25 18:21:47

标签: c# xml null xml-deserialization xsi

我已经提供了XML doc:

<root>
   <element xsi:nil="true" />
<root>

稍后在代码中,元素会更新为:

<root>
  <element xsi:nil="true">some data</element>
</root>

没有乳清我尝试将元素反序列化为对象,“element”属性为null。我做错了什么?

以下是我用来反序列化的C#代码:

XmlSerializer reader = new XmlSerializer(typeof(MyObject));
StreamReader srFile = new StreamReader(strFilePath);
MyObject obj = (MyObject)reader.Deserialize(srFile);

[Serializable]
public class My Object
{
  [XmlElement(IsNullable = true)]
  public string Element {get; set;}
}

1 个答案:

答案 0 :(得分:0)

在设置值之前,我能够执行nodeName.RemoveAttribute(&#34; xsi:nil&#34;)。似乎应该有一种方法来设置元素值,因为元素的值不再是null。