2017-10-05 74 views
1

將以下XML解序列化爲父類時,ElementTwo和ElementThree是空串,這是預期的。但是ElementOne應該是null,但是它也是空字符串。將XML反序列化爲對象:具有xsi:nil =「true」的XML元素對於對象中的相應屬性應該具有空值(而非空值)

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#類

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 XML元素:無=」真「不會被轉換爲空。相反,它被分配爲空字符串。但我有一個要求,它應該被轉換爲null只。請幫我找出一個解決方案或點放在哪裏出了錯

我已經給下面撥弄鏈接中使用的樣本:

https://dotnetfiddle.net/VfNJYv

回答

0

[XmlElement(IsNullable=true)] 

以上 Public string ElementOne get/set屬性

.NET fiddle

相關問題