XML xsi:nil="true" 值设置但返回 null
XML xsi:nil="true" value set but returning null
我已经给了 XML 文件:
<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;}
}
我能够在设置值之前执行 nodeName.RemoveAttribute("xsi:nil")。似乎在设置元素值时应该有一种方法可以做到这一点,因为元素的值将不再为空。
我已经给了 XML 文件:
<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;}
}
我能够在设置值之前执行 nodeName.RemoveAttribute("xsi:nil")。似乎在设置元素值时应该有一种方法可以做到这一点,因为元素的值将不再为空。