将 XML 反序列化为对象:具有 xsi:nil="true" 的 XML 元素对于对象中的相应 属性 应该具有空值(而不是空值)
Deserializing an XML into a object: XML element with xsi:nil="true" should have null value (and not empty value) for respective property in object
将下面的 XML 反序列化为 Parent class 时,ElementTwo 和 ElementThree 是空字符串,这是预期的。但是 ElementOne 应该是空的,但它也是空字符串。
What does i:nil="true" mean?
XML
<?xml version = \"1.0\" ?>
<Parent
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ElementOne xsi:nil="true"/>
<ElementTwo></ElementTwo>
<ElementThree />
<ElementFour>Value</ElementFour>
</Parent>
C#Class
public class Parent
{
public string ElementOne { get; set; }
public string ElementTwo { get; set; }
public string ElementThree { get; set; }
public string ElementFour { get; set; }
}
当将 XML 反序列化为对象时,具有 xsi:nil="true" 的 XML 元素不会被转换为 null。相反,它被分配为空字符串。但我有一个要求,它应该只转换为 null。请帮我找出解决办法或指出我哪里出错了
我已经给出了下面使用的示例 fiddle link:
放
[XmlElement(IsNullable=true)]
以上
Public string ElementOne
get/set 属性
将下面的 XML 反序列化为 Parent class 时,ElementTwo 和 ElementThree 是空字符串,这是预期的。但是 ElementOne 应该是空的,但它也是空字符串。
What does i:nil="true" mean?
XML
<?xml version = \"1.0\" ?>
<Parent
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ElementOne xsi:nil="true"/>
<ElementTwo></ElementTwo>
<ElementThree />
<ElementFour>Value</ElementFour>
</Parent>
C#Class
public class Parent
{
public string ElementOne { get; set; }
public string ElementTwo { get; set; }
public string ElementThree { get; set; }
public string ElementFour { get; set; }
}
当将 XML 反序列化为对象时,具有 xsi:nil="true" 的 XML 元素不会被转换为 null。相反,它被分配为空字符串。但我有一个要求,它应该只转换为 null。请帮我找出解决办法或指出我哪里出错了
我已经给出了下面使用的示例 fiddle link:
放
[XmlElement(IsNullable=true)]
以上
Public string ElementOne
get/set 属性