XML xsi: nil =“true"值集,但返回null

本文关键字:值集 null 返回 quot xsi nil true XML | 更新日期: 2023-09-27 18:03:56

我给了XML doc:

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

随后在代码中元素被更新为:

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

不,当我试图将元素反序列化到一个对象时,"element"属性为空。我做错了什么?

下面是我用来反序列化的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;}
}

XML xsi: nil =“true"值集,但返回null

我能够在设置值之前做一个nodeName.RemoveAttribute("xsi:nil")。似乎在设置元素值时应该有一种方法来做到这一点,因为元素的值将不再为空。